OpenTelemetry-Go Prometheus Exporter

OpenTelemetry Prometheus exporter


go get -u
Expand ▾ Collapse ▴





This section is empty.


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

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


    This section is empty.


    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.

            # 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.