Skip to content

Commit

Permalink
Clarify documentation around what constructors do (#1125)
Browse files Browse the repository at this point in the history
The wording of the documentation is slightly misleading. Before this
commit, it says that the returned collectors are "already registered".
This could be interpreted in two ways, one could think that promauto
keeps some sort of cache of already registered Collectors that are
returned by this package, and the other way is that the Collectors
constructed are registered before being returned. What is actually
happening is the latter, and the wording after this PR leaves no room to
think that the former could be the case.

Signed-off-by: Rafael Franco <[email protected]>

Signed-off-by: Rafael Franco <[email protected]>
  • Loading branch information
donotnoot authored Sep 12, 2022
1 parent 83d56b1 commit 7c46c15
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions prometheus/promauto/auto.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@
// Package promauto provides alternative constructors for the fundamental
// Prometheus metric types and their …Vec and …Func variants. The difference to
// their counterparts in the prometheus package is that the promauto
// constructors return Collectors that are already registered with a
// registry. There are two sets of constructors. The constructors in the first
// set are top-level functions, while the constructors in the other set are
// methods of the Factory type. The top-level function return Collectors
// registered with the global registry (prometheus.DefaultRegisterer), while the
// methods return Collectors registered with the registry the Factory was
// constructed with. All constructors panic if the registration fails.
// constructors register the Collectors with a registry before returning them.
// There are two sets of constructors. The constructors in the first set are
// top-level functions, while the constructors in the other set are methods of
// the Factory type. The top-level function return Collectors registered with
// the global registry (prometheus.DefaultRegisterer), while the methods return
// Collectors registered with the registry the Factory was constructed with. All
// constructors panic if the registration fails.
//
// The following example is a complete program to create a histogram of normally
// distributed random numbers from the math/rand package:
Expand Down

0 comments on commit 7c46c15

Please sign in to comment.