Skip to content

Commit 2f2304a

Browse files
committed
remove prometheus metrics from docs.rs
1 parent b3a8a68 commit 2f2304a

File tree

25 files changed

+77
-958
lines changed

25 files changed

+77
-958
lines changed

Cargo.lock

Lines changed: 0 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ thiserror = "2.0.3"
3939
comrak = { version = "0.48.0", default-features = false }
4040
syntect = { version = "5.0.0", default-features = false, features = ["parsing", "html", "dump-load", "regex-onig"] }
4141
toml = "0.9.2"
42-
prometheus = { version = "0.14.0", default-features = false }
4342
opentelemetry = "0.31.0"
4443
opentelemetry-otlp = { version = "0.31.0", features = ["grpc-tonic", "metrics"] }
4544
opentelemetry-resource-detectors = "0.10.0"

docker-compose.yml

Lines changed: 2 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
# - release-rebuild-enqueuer
2222
#
2323
# optional profile: `metrics`:
24-
# * `prometheus` -> configured prometheus instance
2524
# * `opentelemetry` -> a debug opentelemetry receiver
2625
#
2726
# optional profile: `full`: all of the above.
@@ -44,12 +43,6 @@
4443
# * docker-native for DB, S3, rustwide workspace, crates.io index
4544
# * mounts for prefix
4645
#
47-
# * prometheus scrape config is set to collect from the web server, the
48-
# registry watcher, and the build servers. Scraping is not dynamic, so
49-
# the local prometheus server will try to fetch from all service
50-
# instances (web, watcher, builder), and just error in case the specific
51-
# server isn't accessible.
52-
5346
x-docker-cache: &docker-cache
5447
# shared configuration to cache docker layers across CI runs.
5548
# can just always be in in the `docker-compose.yml`, and will
@@ -275,28 +268,6 @@ services:
275268
<<: *healthcheck-interval
276269
test: mc ready local
277270

278-
prometheus:
279-
build:
280-
context: ./dockerfiles
281-
dockerfile: ./Dockerfile-prometheus
282-
<<: *docker-cache
283-
ports:
284-
- "127.0.0.1:9090:9090"
285-
# we intentionally don't define depends_on here.
286-
# While the scrapers are configured to fetch from eventually running
287-
# web or build-servers, adding these as dependency would mean we can't
288-
# test metrics just with a webserver.
289-
# Prometheus will just scrape from the working endpoints, and skip/error
290-
# on the broken ones.
291-
healthcheck:
292-
<<: *healthcheck-interval
293-
test: promtool check healthy
294-
profiles:
295-
# we rarely need to test with actual prometheus, so always running
296-
# it is a waste.
297-
- metrics
298-
- full
299-
300271
opentelemetry:
301272
build:
302273
context: ./dockerfiles
@@ -309,8 +280,8 @@ services:
309280
test: curl --silent --fail http://localhost:13133/health
310281

311282
profiles:
312-
# we rarely need to test with actual prometheus, so always running
313-
# it is a waste.
283+
# we rarely need to test with actual opentelemetry, so always
284+
# running it is a waste.
314285
- metrics
315286
- full
316287

dockerfiles/Dockerfile-prometheus

Lines changed: 0 additions & 2 deletions
This file was deleted.

justfiles/services.just

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ compose-up-builder:
2020
compose-up-watcher:
2121
just compose-up watcher
2222

23-
# Launch prometheus server in the background
23+
# Launch metrics collector in the background
2424
[group('compose')]
2525
compose-up-metrics:
2626
just compose-up metrics

src/bin/cratesfyi.rs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use clap::{Parser, Subcommand, ValueEnum};
44
use docs_rs::{
55
Config, Context, Index, PackageKind, RustwideBuilder,
66
db::{self, CrateId, Overrides, add_path_into_database, types::version::Version},
7-
queue_rebuilds_faulty_rustdoc, start_background_metrics_webserver, start_web_server,
7+
queue_rebuilds_faulty_rustdoc, start_web_server,
88
utils::{
99
ConfigName, daemon::start_background_service_metric_collector, get_config,
1010
get_crate_pattern_and_priority, list_crate_priorities, queue_builder,
@@ -137,8 +137,6 @@ enum CommandLine {
137137
},
138138

139139
StartRegistryWatcher {
140-
#[arg(name = "SOCKET_ADDR", default_value = "0.0.0.0:3000")]
141-
metric_server_socket_addr: SocketAddr,
142140
/// Enable or disable the repository stats updater
143141
#[arg(
144142
long = "repository-stats-updater",
@@ -152,10 +150,7 @@ enum CommandLine {
152150
queue_rebuilds: Toggle,
153151
},
154152

155-
StartBuildServer {
156-
#[arg(name = "SOCKET_ADDR", default_value = "0.0.0.0:3000")]
157-
metric_server_socket_addr: SocketAddr,
158-
},
153+
StartBuildServer,
159154

160155
/// Starts the daemon
161156
Daemon {
@@ -186,7 +181,6 @@ impl CommandLine {
186181
match self {
187182
Self::Build { subcommand } => subcommand.handle_args(ctx)?,
188183
Self::StartRegistryWatcher {
189-
metric_server_socket_addr,
190184
repository_stats_updater,
191185
cdn_invalidator,
192186
queue_rebuilds,
@@ -205,18 +199,12 @@ impl CommandLine {
205199
// metrics from the registry watcher, which should only run once, and all the time.
206200
start_background_service_metric_collector(&ctx)?;
207201

208-
start_background_metrics_webserver(Some(metric_server_socket_addr), &ctx)?;
209-
210202
ctx.runtime.block_on(docs_rs::utils::watch_registry(
211203
&ctx.async_build_queue,
212204
&ctx.config,
213205
))?;
214206
}
215-
Self::StartBuildServer {
216-
metric_server_socket_addr,
217-
} => {
218-
start_background_metrics_webserver(Some(metric_server_socket_addr), &ctx)?;
219-
207+
Self::StartBuildServer => {
220208
queue_builder(&ctx, RustwideBuilder::init(&ctx)?)?;
221209
}
222210
Self::StartWebServer { socket_addr } => {

src/build_queue.rs

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::{
2-
BuildPackageSummary, Config, Context, Index, InstanceMetrics, RustwideBuilder,
2+
BuildPackageSummary, Config, Context, Index, RustwideBuilder,
33
cdn::{self, CdnMetrics},
44
db::{
55
CrateId, Pool, delete_crate, delete_version,
@@ -70,7 +70,6 @@ pub struct AsyncBuildQueue {
7070
config: Arc<Config>,
7171
storage: Arc<AsyncStorage>,
7272
pub(crate) db: Pool,
73-
metrics: Arc<InstanceMetrics>,
7473
queue_metrics: BuildQueueMetrics,
7574
builder_metrics: Arc<BuilderMetrics>,
7675
cdn_metrics: Arc<CdnMetrics>,
@@ -80,7 +79,6 @@ pub struct AsyncBuildQueue {
8079
impl AsyncBuildQueue {
8180
pub fn new(
8281
db: Pool,
83-
metrics: Arc<InstanceMetrics>,
8482
config: Arc<Config>,
8583
storage: Arc<AsyncStorage>,
8684
cdn_metrics: Arc<CdnMetrics>,
@@ -90,7 +88,6 @@ impl AsyncBuildQueue {
9088
max_attempts: config.build_attempts.into(),
9189
config,
9290
db,
93-
metrics,
9491
storage,
9592
queue_metrics: BuildQueueMetrics::new(otel_meter_provider),
9693
builder_metrics: Arc::new(BuilderMetrics::new(otel_meter_provider)),
@@ -427,7 +424,6 @@ impl AsyncBuildQueue {
427424
"{}-{} added into build queue",
428425
release.name, release.version
429426
);
430-
self.metrics.queued_builds.inc();
431427
self.queue_metrics.queued_builds.add(1, &[]);
432428
crates_added += 1;
433429
}
@@ -637,12 +633,10 @@ impl BuildQueue {
637633
let instant = Instant::now();
638634
let res = f(&to_process);
639635
let elapsed = instant.elapsed().as_secs_f64();
640-
self.inner.metrics.build_time.observe(elapsed);
641636
self.inner.builder_metrics.build_time.record(elapsed, &[]);
642637
res
643638
};
644639

645-
self.inner.metrics.total_builds.inc();
646640
self.inner.builder_metrics.total_builds.add(1, &[]);
647641

648642
self.runtime.block_on(
@@ -665,7 +659,6 @@ impl BuildQueue {
665659
)?;
666660

667661
if attempt >= self.inner.max_attempts {
668-
self.inner.metrics.failed_builds.inc();
669662
self.inner.builder_metrics.failed_builds.add(1, &[]);
670663
}
671664
Ok(())
@@ -1384,12 +1377,6 @@ mod tests {
13841377
})?;
13851378
assert!(!called, "there were still items in the queue");
13861379

1387-
// Ensure metrics were recorded correctly
1388-
let metrics = env.instance_metrics();
1389-
assert_eq!(metrics.total_builds.get(), 9);
1390-
assert_eq!(metrics.failed_builds.get(), 1);
1391-
assert_eq!(metrics.build_time.get_sample_count(), 9);
1392-
13931380
let collected_metrics = env.collected_metrics();
13941381

13951382
assert_eq!(

0 commit comments

Comments
 (0)