Skip to content

docs: add API reference for CollectorRegistry and custom collector classes#1169

Merged
csmarchbanks merged 2 commits intoprometheus:masterfrom
k1chik:fix/1163-api-reference-registry-collectors
Apr 24, 2026
Merged

docs: add API reference for CollectorRegistry and custom collector classes#1169
csmarchbanks merged 2 commits intoprometheus:masterfrom
k1chik:fix/1163-api-reference-registry-collectors

Conversation

@k1chik
Copy link
Copy Markdown
Contributor

@k1chik k1chik commented Apr 24, 2026

Closes #1163

Follows the same pattern as #1021 and #1162.

collector/custom.md: Collector protocol section (collect/describe), value vs labels mutual exclusivity note with correct per-type parameter names, full constructor and add_metric tables for GaugeMetricFamily, CounterMetricFamily, SummaryMetricFamily, HistogramMetricFamily, and InfoMetricFamily, plus a runnable real-world example.

collector/_index.md: constructor parameter tables for ProcessCollector, PlatformCollector, and GCCollector, with exported metrics listed for each.

registry/_index.md (new page): CollectorRegistry constructor and all public methods (register, unregister, collect, restricted_registry, get_sample_value, set_target_info, get_target_info), the global REGISTRY instance, and examples for isolated registry usage and registry=None.

All code examples verified by running them in Python.

cc @csmarchbanks

k1chik added 2 commits April 24, 2026 11:04
…asses

Closes prometheus#1163

collector/custom.md: Collector protocol section (collect/describe), value vs
labels mutual exclusivity note, full constructor and add_metric tables for
GaugeMetricFamily, CounterMetricFamily, SummaryMetricFamily,
HistogramMetricFamily, and InfoMetricFamily, plus a runnable real-world example.

collector/_index.md: constructor parameter tables for ProcessCollector,
PlatformCollector, and GCCollector, with exported metrics listed for each.

registry/_index.md (new): CollectorRegistry constructor and all public methods
(register, unregister, collect, restricted_registry, get_sample_value,
set_target_info, get_target_info), the global REGISTRY instance, and examples
for isolated registry usage and registry=None.

All code examples verified by running them in Python.

Signed-off-by: k1chik <107162115+k1chik@users.noreply.github.com>
- GCCollector does not support registry=None on CPython; remove that claim
- Remove unused CONTENT_TYPE_LATEST import from registry example
- Fix 'value vs labels' section to correctly describe Summary (count_value/sum_value) and Histogram (buckets)

Signed-off-by: k1chik <107162115+k1chik@users.noreply.github.com>
Copy link
Copy Markdown
Member

@csmarchbanks csmarchbanks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@csmarchbanks csmarchbanks merged commit 482656c into prometheus:master Apr 24, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs: add API reference for CollectorRegistry and custom collector classes

2 participants