Repository navigation
Conversation
GET /api/system/prometheus-metrics reports the namespace's workflow, activity and task-queue series with latency histograms, task state and worker capacity, each family capped at 100 series with its suppression disclosed, as PrometheusMetricsSummary does. Latency buckets compare durations with numeric bounds on every backend. Published PHP on SQLite counts every duration in every bucket (server#683); the fixture records that reference defect without adopting it. As in PHP, an activity task scheduled by a workflow task is no longer stamped dispatched: PHP's completion publishes only timer tasks.
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #325. Stacked on #684 (system metrics), which is stacked on train #675.
Summary
Native now serves
GET /api/system/prometheus-metricsas published Server 2.11 does (PrometheusMetricsSummary::snapshot). Prometheus exporters scrape it for:Each family keeps the first 100 series in PHP's order. The summary discloses observed, reported and suppressed series and the suppressed starts, and switches to
lower_boundprecision at the limit. Native refuses the series-limit settings, so the limit is always PHP's default. Task and worker times compare in whole seconds, as Laravel binds them.Decisions
last_dispatched_atandlast_dispatch_attempt_at, and its queue's dispatched counter stays 0. Native stamped it dispatched. It now leaves those columns null for that path, as PHP does. Other task paths keep their stamps.Fixture first
The
prometheus-metricsfixture reads a fresh namespace's summary, then runs a scenario and reads it again:Counters, task-queue state, worker capacity and the disclosure are exact. Each counted run and activity lasts at least 1.1 s, so latency sums and the empty low buckets are checked against that bound.
Verification
prometheus-metrics. Published PHP passedprometheus-metricsas well. Its only difference wasstorage-test, an intermittent 503 from PHP's payload registration on the loaded host; that fixture passed in the previous local run.--all-targets: 649 passed. The new tests pass on PostgreSQL and MySQL too.