go-srvc / mods / metermod

github.com/go-srvc/mods/metermod

pkg.go.dev source
go get github.com/go-srvc/mods/metermod@v0.1.5

README

metermod

Using metermod takes care of exporting metrics to otel endpoint and flushing buffers before the application exits.

package main

import (
	"github.com/go-srvc/mods/metermod"
	"github.com/go-srvc/srvc"
)

func main() {
	srvc.RunAndExit(
		// By default metermod exports go runtime metrics to otel endpoint.
		metermod.New(),
	)
}

Overview

Package metermod provides OpenTelemetry meter provider as a module.

Constants

const (
	ErrMissingProvider = errStr("meter provider not set")
	ErrFlushFailed     = errStr("failed to flush remaining metrics")
)
const ID = "metermod"

Types

type Opt

type Opt func(*Provider) error

type Provider

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

func (*Provider) ID

func (p *Provider) ID() string

func (*Provider) Init

func (p *Provider) Init() error

func (*Provider) Run

func (p *Provider) Run() error

func (*Provider) Stop

func (p *Provider) Stop() error

Examples

ExampleNew

package main

import (
	"github.com/go-srvc/mods/metermod"
	"github.com/go-srvc/srvc"
)

func main() {
	srvc.RunAndExit(
		metermod.New(),
	)
}