All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.4.1 - 2024-10-23
- Metric names for histogram buckets now correctly appends the
_bucket
suffix. (#21)
v1.4.0 - 2024-07-12
- The public API of Prometheus.jl is now marked
public
in Julia versions that support it. The public names are:CollectorRegistry
,register
,unregister
,Counter
,Gauge
,Histogram
,Summary
,GCCollector
,ProcessCollector
,inc
,dec
,set
,set_to_current_time
,observe
,@inprogress
,@time
,Family
,labels
,remove
,clear
, andexpose
. (#19)
v1.3.0 - 2023-11-29
Base.getindex
is overloaded for thePrometheus.Family
collector to have the same meaning asPrometheus.labels
.family[labels]
is equivalent toPrometheus.labels(family, labels)
. (#13)
- The
ProcessCollector
is now initialized on first use in a given process. This fixes a bug where values cached during precompilation (e.g. system boot time) would be used instead of the current values. (#14)
v1.2.0 - 2023-11-22
- The fourth basic collector,
Histogram
, have been added. (#10)
v1.1.0 - 2023-11-13
- New macro
Prometheus.@time collector <expr>
for timing<expr>
and pass the elapsed time to the collector.<expr>
can be a single expression, a block, or a function definition. In the latter case, all calls to the function will be instrumented (no matter the call site). See documentation for more details. (#6) - New macro
Prometheus.@inprogress collector <expr>
to track number of in-progress concurrent evalutations of<expr>
. Just likePrometheus.@time
, valid<expr>
s are single expressions, blocks, and function definitions. See documentation for more details. (#6) - New ways to specify label names and label values in
Prometheus.Family{C}
. Label names can now be passed to the constructor as i) a tuple of strings or symbols, ii) a named tuple type (names used for label names), or iii) a custom struct type (field names used for label names). Similarly, label values (passed to e.g.Prometheus.labels
) can be passed as i) tuple of strings, ii) named tuple, iii) struct instance. See documentation for examples and more details. (#7)
v1.0.1 - 2023-11-06
- Fixed verification of metric names and label names.
- Correctly escape special characters in exposition (specifically help and label values).
v1.0.0 - 2023-11-05
First stable release of Prometheus.jl:
- Supported basic collectors: Counter, Gauge, Summary
- GCCollector for metrics about allocations and garbage collection
- ProcessCollector for process metrics such as CPU time and I/O operations (requires the /proc file system).
- Support for default and custom collector registries
- Support for metric labeling
- Support for exposing metrics to file and over HTTP
- Support for gzip compression when exposing over HTTP
See README.md for details and documentation.