by-framework 0.2.2.dev14__py3-none-any.whl → 0.2.2.dev15__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- by_framework/metrics/catalog.py +54 -0
- {by_framework-0.2.2.dev14.dist-info → by_framework-0.2.2.dev15.dist-info}/METADATA +1 -1
- {by_framework-0.2.2.dev14.dist-info → by_framework-0.2.2.dev15.dist-info}/RECORD +6 -6
- {by_framework-0.2.2.dev14.dist-info → by_framework-0.2.2.dev15.dist-info}/WHEEL +0 -0
- {by_framework-0.2.2.dev14.dist-info → by_framework-0.2.2.dev15.dist-info}/entry_points.txt +0 -0
- {by_framework-0.2.2.dev14.dist-info → by_framework-0.2.2.dev15.dist-info}/licenses/LICENSE +0 -0
by_framework/metrics/catalog.py
CHANGED
|
@@ -367,6 +367,60 @@ _CATALOG: dict[str, MetricDefinition] = {
|
|
|
367
367
|
"Instrumentation reliability signal pinpointing exporter failures."
|
|
368
368
|
),
|
|
369
369
|
),
|
|
370
|
+
# Self-monitoring for the background collector in metrics/collector.py.
|
|
371
|
+
# Exactly one process holds its Redis lock and writes history points, so
|
|
372
|
+
# these answer "is anyone still collecting?" — a gap here means the
|
|
373
|
+
# dashboards go stale silently rather than erroring.
|
|
374
|
+
"by_framework_metrics_collector_cycles_total": MetricDefinition(
|
|
375
|
+
name="by_framework_metrics_collector_cycles_total",
|
|
376
|
+
kind=MetricKind.COUNTER,
|
|
377
|
+
unit=MetricUnit.NONE,
|
|
378
|
+
labels=("result",),
|
|
379
|
+
description=(
|
|
380
|
+
"Metrics collector cycles by result "
|
|
381
|
+
"(success, snapshot_failed, lock_skipped, disabled)."
|
|
382
|
+
),
|
|
383
|
+
interpretation=(
|
|
384
|
+
"Collector health signal: only the lock holder reports success, so "
|
|
385
|
+
"lock_skipped dominating across a fleet is expected."
|
|
386
|
+
),
|
|
387
|
+
),
|
|
388
|
+
"by_framework_metrics_collector_snapshot_duration_ms": MetricDefinition(
|
|
389
|
+
name="by_framework_metrics_collector_snapshot_duration_ms",
|
|
390
|
+
kind=MetricKind.HISTOGRAM,
|
|
391
|
+
unit=MetricUnit.MILLISECONDS,
|
|
392
|
+
description=(
|
|
393
|
+
"Duration of one collector snapshot build plus history write."
|
|
394
|
+
),
|
|
395
|
+
interpretation=(
|
|
396
|
+
"Latency signal for collection itself; approaching the collection "
|
|
397
|
+
"interval means cycles are about to overlap."
|
|
398
|
+
),
|
|
399
|
+
),
|
|
400
|
+
"by_framework_metrics_collector_lock_held": MetricDefinition(
|
|
401
|
+
name="by_framework_metrics_collector_lock_held",
|
|
402
|
+
kind=MetricKind.GAUGE,
|
|
403
|
+
unit=MetricUnit.NONE,
|
|
404
|
+
description=(
|
|
405
|
+
"Whether this process currently holds the metrics collector lock."
|
|
406
|
+
),
|
|
407
|
+
interpretation=(
|
|
408
|
+
"Saturation signal: should sum to 1 across the fleet — 0 means "
|
|
409
|
+
"nobody is collecting, above 1 means the lock split."
|
|
410
|
+
),
|
|
411
|
+
),
|
|
412
|
+
"by_framework_metrics_collector_last_success_timestamp_ms": MetricDefinition(
|
|
413
|
+
name="by_framework_metrics_collector_last_success_timestamp_ms",
|
|
414
|
+
kind=MetricKind.GAUGE,
|
|
415
|
+
unit=MetricUnit.MILLISECONDS,
|
|
416
|
+
description=(
|
|
417
|
+
"Unix timestamp in milliseconds of the last successful collection."
|
|
418
|
+
),
|
|
419
|
+
interpretation=(
|
|
420
|
+
"Freshness signal: alert on now minus this value exceeding a few "
|
|
421
|
+
"collection intervals."
|
|
422
|
+
),
|
|
423
|
+
),
|
|
370
424
|
}
|
|
371
425
|
|
|
372
426
|
|
|
@@ -69,7 +69,7 @@ by_framework/errors/http.py,sha256=xtm4EKwbE1Z0n4yqWTjPOVbDd9fIPfmT8W4ou5aOLCQ,7
|
|
|
69
69
|
by_framework/errors/protocol.py,sha256=MWr15TFIHs8Ql67mgvU9mebGdE04yPxmg4AOEGbF9E4,1269
|
|
70
70
|
by_framework/errors/registry.py,sha256=LmcqSXiW8FSOghpLPHTllkbrQCnVcMYTLzO2cNU3wIw,842
|
|
71
71
|
by_framework/metrics/__init__.py,sha256=8AQpVnOwAmHoQsDhCfkNXSKUOX_ZCBF_QajBXmsNhgc,11353
|
|
72
|
-
by_framework/metrics/catalog.py,sha256=
|
|
72
|
+
by_framework/metrics/catalog.py,sha256=1yWxVCvvrbkT0Rdmi0x-rtRwtXFzQg6Dmuj75izN2X0,19684
|
|
73
73
|
by_framework/metrics/collector.py,sha256=uIO2TJfX4zQTBi5gWbMfgwtdMjrhmhzjzW36BcqxBKE,8533
|
|
74
74
|
by_framework/metrics/read_client.py,sha256=kcgHJlJh47eFPhlbH8QOyD-K6SpKbZHEX624XD6Mvxo,18511
|
|
75
75
|
by_framework/metrics/snapshot.py,sha256=eI4JVV3uma7fT6nvp2bliO2ZUBJhJT6bzTvQDIeC-wk,101784
|
|
@@ -98,8 +98,8 @@ by_framework/worker/runner.py,sha256=6_L_UUV1Kljys_4Eh_qnwMd7a-gGsikd4M_O5K879NA
|
|
|
98
98
|
by_framework/worker/worker.py,sha256=IaPFLWCFo5U5Xo7PIQHtTt4JmtxZA1O_3nAuGl_g4N0,49527
|
|
99
99
|
by_framework/worker/sandbox/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
100
|
by_framework/worker/sandbox/hook_sandbox.py,sha256=XXSdH5YGX814LvV03vkq-zn5DVIBPYYt2NhRv1lT1Bk,2329
|
|
101
|
-
by_framework-0.2.2.
|
|
102
|
-
by_framework-0.2.2.
|
|
103
|
-
by_framework-0.2.2.
|
|
104
|
-
by_framework-0.2.2.
|
|
105
|
-
by_framework-0.2.2.
|
|
101
|
+
by_framework-0.2.2.dev15.dist-info/METADATA,sha256=l050msraVm4RdyM0rIA_GXOpYu5pWyuUTdw7e2IBdd4,28018
|
|
102
|
+
by_framework-0.2.2.dev15.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
103
|
+
by_framework-0.2.2.dev15.dist-info/entry_points.txt,sha256=5t6kgMjkR0UgJTpOsbuQDo0fOf7zeXjQW9DhkxfAGFc,56
|
|
104
|
+
by_framework-0.2.2.dev15.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
105
|
+
by_framework-0.2.2.dev15.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|