Skip to content

Commit efcf0f1

Browse files
authored
Merge pull request #61 from JShabtai/feature/configurable-uri
Made the exposer URI configurable
2 parents 8786dc3 + 631f7d6 commit efcf0f1

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

include/prometheus/exposer.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <atomic>
44
#include <cstdint>
55
#include <memory>
6+
#include <string>
67

78
#include "histogram.h"
89
#include "registry.h"
@@ -17,7 +18,8 @@ class MetricsHandler;
1718

1819
class Exposer {
1920
public:
20-
explicit Exposer(const std::string& bind_address);
21+
explicit Exposer(const std::string& bind_address,
22+
const std::string& uri = std::string("/metrics"));
2123
~Exposer();
2224
void RegisterCollectable(const std::weak_ptr<Collectable>& collectable);
2325

@@ -26,5 +28,6 @@ class Exposer {
2628
std::vector<std::weak_ptr<Collectable>> collectables_;
2729
std::shared_ptr<Registry> exposer_registry_;
2830
std::unique_ptr<detail::MetricsHandler> metrics_handler_;
31+
std::string uri_;
2932
};
3033
}

lib/exposer.cc

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@
1010

1111
namespace prometheus {
1212

13-
static const auto uri = std::string{"/metrics"};
14-
15-
Exposer::Exposer(const std::string& bind_address)
13+
Exposer::Exposer(const std::string& bind_address, const std::string& uri)
1614
: server_(new CivetServer{{"listening_ports", bind_address.c_str()}}),
1715
exposer_registry_(std::make_shared<Registry>()),
1816
metrics_handler_(
19-
new detail::MetricsHandler{collectables_, *exposer_registry_}) {
17+
new detail::MetricsHandler{collectables_, *exposer_registry_}),
18+
uri_(uri) {
2019
RegisterCollectable(exposer_registry_);
2120
server_->addHandler(uri, metrics_handler_.get());
2221
}
2322

24-
Exposer::~Exposer() { server_->removeHandler(uri); }
23+
Exposer::~Exposer() { server_->removeHandler(uri_); }
2524

2625
void Exposer::RegisterCollectable(
2726
const std::weak_ptr<Collectable>& collectable) {

0 commit comments

Comments
 (0)