README

OpenTelemetry-Go Prometheus Exporter

OpenTelemetry Prometheus exporter

Installation

go get -u go.opentelemetry.io/otel/exporters/metric/prometheus
Expand ▾ Collapse ▴

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var ErrUnsupportedAggregator = fmt.Errorf("unsupported aggregator type")

    ErrUnsupportedAggregator is returned for unrepresentable aggregator types (e.g., exact).

    Functions

    This section is empty.

    Types

    type Config

    type Config struct {
    	// Registry is the prometheus registry that will be used as the default Registerer and
    	// Gatherer if these are not specified.
    	//
    	// If not set a new empty Registry is created.
    	Registry *prometheus.Registry
    
    	// Registerer is the prometheus registerer to register
    	// metrics with.
    	//
    	// If not specified the Registry will be used as default.
    	Registerer prometheus.Registerer
    
    	// Gatherer is the prometheus gatherer to gather
    	// metrics with.
    	//
    	// If not specified the Registry will be used as default.
    	Gatherer prometheus.Gatherer
    
    	// DefaultHistogramBoundaries defines the default histogram bucket
    	// boundaries.
    	DefaultHistogramBoundaries []float64
    }

      Config is a set of configs for the tally reporter.

      type Exporter

      type Exporter struct {
      	// contains filtered or unexported fields
      }

        Exporter supports Prometheus pulls. It does not implement the sdk/export/metric.Exporter interface--instead it creates a pull controller and reads the latest checkpointed data on-scrape.

        func InstallNewPipeline

        func InstallNewPipeline(config Config, options ...controller.Option) (*Exporter, error)

          InstallNewPipeline instantiates a NewExportPipeline and registers it globally. Typically called as:

          hf, err := prometheus.InstallNewPipeline(prometheus.Config{...})
          
          if err != nil {
          	...
          }
          http.HandleFunc("/metrics", hf)
          defer pipeline.Stop()
          ... Done
          

          func NewExportPipeline

          func NewExportPipeline(config Config, options ...controller.Option) (*Exporter, error)

            NewExportPipeline sets up a complete export pipeline with the recommended setup, using the recommended selector and standard processor. See the controller.Options.

            Example
            Output:
            
            # HELP a_counter Counts things
            # TYPE a_counter counter
            a_counter{R="V",key="value"} 100
            # HELP a_valuerecorder Records values
            # TYPE a_valuerecorder histogram
            a_valuerecorder_bucket{R="V",key="value",le="+Inf"} 1
            a_valuerecorder_sum{R="V",key="value"} 100
            a_valuerecorder_count{R="V",key="value"} 1
            

            func NewExporter

            func NewExporter(config Config, controller *controller.Controller) (*Exporter, error)

              NewExporter returns a new Prometheus exporter using the configured metric controller. See controller.New().

              func (*Exporter) Controller

              func (e *Exporter) Controller() *controller.Controller

                Controller returns the controller object that coordinates collection for the SDK.

                func (*Exporter) ExportKindFor

                func (e *Exporter) ExportKindFor(desc *metric.Descriptor, kind aggregation.Kind) export.ExportKind

                  ExportKindFor implements ExportKindSelector.

                  func (*Exporter) MeterProvider

                  func (e *Exporter) MeterProvider() metric.MeterProvider

                    MeterProvider returns the MeterProvider of this exporter.

                    func (*Exporter) ServeHTTP

                    func (e *Exporter) ServeHTTP(w http.ResponseWriter, r *http.Request)

                      ServeHTTP implements http.Handler.