prometheus-cpp/1.1.0

Prometheus Client Library for Modern C++
Recipe info
2023-11-18

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
prometheus-cpp/1.1.0

Using prometheus-cpp

Note

If you are new with Conan, we recommend to read the section how to consume packages.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
prometheus-cpp/1.1.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("prometheus-cpp/1.1.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): prometheus-cpp
  • CMake target name(s): prometheus-cpp::prometheus-cpp
  • prometheus-cpp-core => prometheus-cpp::core
    prometheus-cpp-pull => prometheus-cpp::pull
    prometheus-cpp-push => prometheus-cpp::push
    
  • pkg-config file name(s): prometheus-cpp.pc
  • prometheus-cpp-core => prometheus-cpp-core.pc
    prometheus-cpp-pull => prometheus-cpp-pull.pc
    prometheus-cpp-push => prometheus-cpp-push.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(prometheus-cpp REQUIRED)
# ...
target_link_libraries(YOUR_TARGET prometheus-cpp::prometheus-cpp)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the prometheus-cpp homepage listed above:

#include "prometheus/check_names.h"
#include "prometheus/client_metric.h"
#include "prometheus/collectable.h"
#include "prometheus/counter.h"
#include "prometheus/detail/builder.h"
#include "prometheus/detail/ckms_quantiles.h"
#include "prometheus/detail/core_export.h"
#include "prometheus/detail/http_method.h"
#include "prometheus/detail/pull_export.h"
#include "prometheus/detail/push_export.h"
#include "prometheus/detail/time_window_quantiles.h"
#include "prometheus/detail/utils.h"
#include "prometheus/exposer.h"
#include "prometheus/family.h"
#include "prometheus/gateway.h"
#include "prometheus/gauge.h"
#include "prometheus/histogram.h"
#include "prometheus/info.h"
#include "prometheus/labels.h"
#include "prometheus/metric_family.h"
#include "prometheus/metric_type.h"
#include "prometheus/registry.h"
#include "prometheus/serializer.h"
#include "prometheus/summary.h"
#include "prometheus/text_serializer.h"