common

package module
v1.0.58 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2024 License: Apache-2.0 Imports: 2 Imported by: 25

Documentation

Index

Constants

View Source
const OdigosResourceNamespace = "instrumentation.odigos.io"

This is the resource namespace of the lister in k8s device plugin manager. from the "github.com/kubevirt/device-plugin-manager" package source: GetResourceNamespace must return namespace (vendor ID) of implemented Lister. e.g. for resources in format "color.example.com/<color>" that would be "color.example.com".

Variables

This section is empty.

Functions

func InstrumentationDeviceNameToComponents added in v1.0.11

func InstrumentationDeviceNameToComponents(deviceName string) (ProgrammingLanguage, OtelSdkType, OtelSdkTier)

func InstrumentationPluginName added in v1.0.11

func InstrumentationPluginName(language ProgrammingLanguage, otelSdk OtelSdk) string

func InstrumentationPluginNameToComponents added in v1.0.37

func InstrumentationPluginNameToComponents(pluginName string) (ProgrammingLanguage, OtelSdkType, OtelSdkTier)

func SpanKindOdigosToOtel added in v1.0.4

func SpanKindOdigosToOtel(kind SpanKind) trace.SpanKind

Types

type DestinationType

type DestinationType string
const (
	MiddlewareDestinationType             DestinationType = "middleware"
	GrafanaCloudPrometheusDestinationType DestinationType = "grafanacloudprometheus"
	GrafanaCloudTempoDestinationType      DestinationType = "grafanacloudtempo"
	GrafanaCloudLokiDestinationType       DestinationType = "grafanacloudloki"
	DatadogDestinationType                DestinationType = "datadog"
	HoneycombDestinationType              DestinationType = "honeycomb"
	NewRelicDestinationType               DestinationType = "newrelic"
	LogzioDestinationType                 DestinationType = "logzio"
	PrometheusDestinationType             DestinationType = "prometheus"
	LokiDestinationType                   DestinationType = "loki"
	TempoDestinationType                  DestinationType = "tempo"
	JaegerDestinationType                 DestinationType = "jaeger"
	ElasticsearchDestinationType          DestinationType = "elasticsearch"
	QuickwitDestinationType               DestinationType = "quickwit"
	GenericOTLPDestinationType            DestinationType = "otlp"
	OtlpHttpDestinationType               DestinationType = "otlphttp"
	SignozDestinationType                 DestinationType = "signoz"
	QrynDestinationType                   DestinationType = "qryn"
	OpsVerseDestinationType               DestinationType = "opsverse"
	SplunkDestinationType                 DestinationType = "splunk"
	LightstepDestinationType              DestinationType = "lightstep"
	GoogleCloudDestinationType            DestinationType = "googlecloud"
	SentryDestinationType                 DestinationType = "sentry"
	GCSDestinationType                    DestinationType = "gcs"
	AWSS3DestinationType                  DestinationType = "s3"
	AzureBlobDestinationType              DestinationType = "azureblob"
	DynatraceDestinationType              DestinationType = "dynatrace"
	ChronosphereDestinationType           DestinationType = "chronosphere"
	ElasticAPMDestinationType             DestinationType = "elasticapm"
	AxiomDestinationType                  DestinationType = "axiom"
	SumoLogicDestinationType              DestinationType = "sumologic"
	CoralogixDestinationType              DestinationType = "coralogix"
)

type ObservabilitySignal

type ObservabilitySignal string

+kubebuilder:validation:Enum=LOGS;TRACES;METRICS

const (
	LogsObservabilitySignal    ObservabilitySignal = "LOGS"
	TracesObservabilitySignal  ObservabilitySignal = "TRACES"
	MetricsObservabilitySignal ObservabilitySignal = "METRICS"
)

type OdigosInstrumentationDevice

type OdigosInstrumentationDevice string

func InstrumentationDeviceName added in v1.0.11

func InstrumentationDeviceName(language ProgrammingLanguage, otelSdk OtelSdk) OdigosInstrumentationDevice

type OdigosTier added in v1.0.11

type OdigosTier string
const (

	// community is the opensource tier of odigos
	CommunityOdigosTier OdigosTier = "community"

	// cloud is the SaaS offering of odigos
	CloudOdigosTier OdigosTier = "cloud"

	// on premises comes with enterprise features and does not require
	// network connectivity to odigos cloud
	OnPremOdigosTier OdigosTier = "onprem"
)

type OtelSdk added in v1.0.11

type OtelSdk struct {
	SdkType OtelSdkType `json:"sdkType"`
	SdkTier OtelSdkTier `json:"sdkTier"`
}

type OtelSdkTier added in v1.0.11

type OtelSdkTier string
const (
	CommunityOtelSdkTier  OtelSdkTier = "community"
	EnterpriseOtelSdkTier OtelSdkTier = "enterprise"
)

type OtelSdkType added in v1.0.11

type OtelSdkType string

Odigos supports two types of OpenTelemetry SDKs: native and ebpf.

const (
	// The native SDK is implemented in the language of the application and
	// is integrated into the application code via runtime support (e.g. Java agent).
	NativeOtelSdkType OtelSdkType = "native"

	// EbpfOtelSdkType SDK can record telemetry data from the application with eBPF
	// code injected into the application process.
	EbpfOtelSdkType OtelSdkType = "ebpf"
)

type PodWorkload

type PodWorkload struct {
	Name      string
	Namespace string
	Kind      string
}

PodWorkload represents the higher-level controller managing a specific Pod within a Kubernetes cluster. It contains essential details about the controller such as its Name, Namespace, and Kind. 'Kind' refers to the type of controller, which can be a Deployment, StatefulSet, or DaemonSet. This struct is useful for identifying and interacting with the overarching entity that governs the lifecycle and behavior of a Pod, especially in contexts where understanding the relationship between a Pod and its controlling workload is crucial.

type ProgrammingLanguage

type ProgrammingLanguage string

+kubebuilder:validation:Enum=java;python;go;dotnet;javascript;mysql

const (
	JavaProgrammingLanguage       ProgrammingLanguage = "java"
	PythonProgrammingLanguage     ProgrammingLanguage = "python"
	GoProgrammingLanguage         ProgrammingLanguage = "go"
	DotNetProgrammingLanguage     ProgrammingLanguage = "dotnet"
	JavascriptProgrammingLanguage ProgrammingLanguage = "javascript"
	// This is an experimental feature, It is not a language
	// but in order to avoid huge refactoring we are adding it here for now
	MySQLProgrammingLanguage ProgrammingLanguage = "mysql"
)

type SpanKind added in v1.0.4

type SpanKind string

SpanKind is already defined in opentelemetry-go as int. this value can go into the CRD in which case it will be string for user convenience. +kubebuilder:validation:Enum=client;server;producer;consumer;internal

const (
	ClientSpanKind   SpanKind = "client"
	ServerSpanKind   SpanKind = "server"
	ProducerSpanKind SpanKind = "producer"
	ConsumerSpanKind SpanKind = "consumer"
	InternalSpanKind SpanKind = "internal"
)

func ConvertSpanKindToString added in v1.0.14

func ConvertSpanKindToString(spanKind trace.SpanKind) SpanKind

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL