mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 19:52:24 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright The OpenTelemetry Authors
 | 
						|
// SPDX-License-Identifier: Apache-2.0
 | 
						|
 | 
						|
// Package metric provides an implementation of the OpenTelemetry metrics SDK.
 | 
						|
//
 | 
						|
// See https://opentelemetry.io/docs/concepts/signals/metrics/ for information
 | 
						|
// about the concept of OpenTelemetry metrics and
 | 
						|
// https://opentelemetry.io/docs/concepts/components/ for more information
 | 
						|
// about OpenTelemetry SDKs.
 | 
						|
//
 | 
						|
// The entry point for the metric package is the MeterProvider. It is the
 | 
						|
// object that all API calls use to create Meters, instruments, and ultimately
 | 
						|
// make metric measurements. Also, it is an object that should be used to
 | 
						|
// control the life-cycle (start, flush, and shutdown) of the SDK.
 | 
						|
//
 | 
						|
// A MeterProvider needs to be configured to export the measured data, this is
 | 
						|
// done by configuring it with a Reader implementation (using the WithReader
 | 
						|
// MeterProviderOption). Readers take two forms: ones that push to an endpoint
 | 
						|
// (NewPeriodicReader), and ones that an endpoint pulls from. See
 | 
						|
// [go.opentelemetry.io/otel/exporters] for exporters that can be used as
 | 
						|
// or with these Readers.
 | 
						|
//
 | 
						|
// Each Reader, when registered with the MeterProvider, can be augmented with a
 | 
						|
// View. Views allow users that run OpenTelemetry instrumented code to modify
 | 
						|
// the generated data of that instrumentation.
 | 
						|
//
 | 
						|
// The data generated by a MeterProvider needs to include information about its
 | 
						|
// origin. A MeterProvider needs to be configured with a Resource, using the
 | 
						|
// WithResource MeterProviderOption, to include this information. This Resource
 | 
						|
// should be used to describe the unique runtime environment instrumented code
 | 
						|
// is being run on. That way when multiple instances of the code are collected
 | 
						|
// at a single endpoint their origin is decipherable.
 | 
						|
//
 | 
						|
// To avoid leaking memory, the SDK returns the same instrument for calls to
 | 
						|
// create new instruments with the same Name, Unit, and Description.
 | 
						|
// Importantly, callbacks provided using metric.WithFloat64Callback or
 | 
						|
// metric.WithInt64Callback will only apply for the first instrument created
 | 
						|
// with a given Name, Unit, and Description. Instead, use
 | 
						|
// Meter.RegisterCallback and Registration.Unregister to add and remove
 | 
						|
// callbacks without leaking memory.
 | 
						|
//
 | 
						|
// See [go.opentelemetry.io/otel/metric] for more information about
 | 
						|
// the metric API.
 | 
						|
//
 | 
						|
// See [go.opentelemetry.io/otel/sdk/metric/internal/x] for information about
 | 
						|
// the experimental features.
 | 
						|
package metric // import "go.opentelemetry.io/otel/sdk/metric"
 |