Giter Club home page Giter Club logo

vecc.prometheus's Introduction

Overview

This repo contains my Prometheus exporter. It allows you to create a multitude of metrics and output them as a simple string that Prometheus can read. It's usage is simple. Create a MetricRegistry, call the appropriate metric methods and set some metrics. It contains a helper for IServiceCollection dependency injection that will add the required classes.

Every interface and method is documented with XML comments to make it easier to use.

Features

  • The base library has a single dependency, the Dependency Injection package.
  • Easy to use
  • Supported metrics
    • Counter
    • Gauge
    • Histogram
  • Extendable
    • Everything exposed uses interfaces.
    • No sealed classes
    • No internal classes
  • Permissive license, MIT
  • Clean and consistent interfaces
  • Small namespace so you don't bring in a bunch of stuff you won't need.
    • The namespace to use is Vecc.Prometheus. It currently only has 5 interfaces and 3 classes.
    • The guts of the project is all in Vecc.Prometheus.Internal. You will most likely will only need to bring in that namespace if you are extending the project.

Usage

You can find a simple and easy to follow example in the /src/Vecc.Prometheus.Example project.

Items remaining to work on

  • Examples
  • Documentation
    • The methods are documented and an example project exists. It would be nice to see more well-rounded documentation around use cases.
  • Additional packages
    • Simple extension methods for AspNetCore to expose it to Prometheus
    • Expose an additional http server endpoint to host the scrape
    • Push the scrape to an endpoint

vecc.prometheus's People

Contributors

edwardcooke avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.