types

package
v0.1.0-beta.3 Latest Latest
Warning

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

Go to latest
Published: Aug 19, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BreakingChange

type BreakingChange struct {
	Version           string   `json:"version"`
	Description       string   `json:"description"`
	MigrationGuideURL string   `json:"migration_guide_url,omitempty"`
	AffectedFeatures  []string `json:"affected_features,omitempty"`
	Severity          string   `json:"severity,omitempty"` // high, medium, low
}

BreakingChange represents a breaking change in a version

type CompatibleComponent

type CompatibleComponent struct {
	Name     string            `json:"name"`
	Version  string            `json:"version"`
	Category ComponentCategory `json:"category,omitempty"`
	Type     ComponentType     `json:"type,omitempty"`
}

CompatibleComponent represents a compatible component and version

type Component

type Component struct {
	Name                   string                  `json:"name"`
	Type                   ComponentType           `json:"type"`
	Category               ComponentCategory       `json:"category,omitempty"`
	Status                 ComponentStatus         `json:"status,omitempty"`
	SupportLevel           SupportLevel            `json:"support_level,omitempty"`
	Language               ComponentLanguage       `json:"language"`
	Description            string                  `json:"description,omitempty"`
	Repository             string                  `json:"repository"`
	RegistryURL            string                  `json:"registry_url,omitempty"`
	Homepage               string                  `json:"homepage,omitempty"`
	Versions               []Version               `json:"versions"`
	Tags                   []string                `json:"tags,omitempty"`
	Maintainers            []string                `json:"maintainers,omitempty"`
	License                string                  `json:"license,omitempty"`
	LastUpdated            time.Time               `json:"last_updated"`
	InstrumentationTargets []InstrumentationTarget `json:"instrumentation_targets,omitempty"`
	DocumentationURL       string                  `json:"documentation_url,omitempty"`
	ExamplesURL            string                  `json:"examples_url,omitempty"`
	MigrationGuideURL      string                  `json:"migration_guide_url,omitempty"`
}

Component represents an OpenTelemetry component

type ComponentCategory

type ComponentCategory string

ComponentCategory represents the category of a component

const (
	ComponentCategoryStableSDK    ComponentCategory = "STABLE_SDK"
	ComponentCategoryExperimental ComponentCategory = "EXPERIMENTAL"
	ComponentCategoryAPI          ComponentCategory = "API"
	ComponentCategoryCore         ComponentCategory = "CORE"
	ComponentCategoryContrib      ComponentCategory = "CONTRIB"
)

type ComponentLanguage

type ComponentLanguage string

ComponentLanguage represents the programming language

const (
	ComponentLanguageJavaScript ComponentLanguage = "javascript"
	ComponentLanguageGo         ComponentLanguage = "go"
	ComponentLanguagePython     ComponentLanguage = "python"
	ComponentLanguageJava       ComponentLanguage = "java"
	ComponentLanguageCSharp     ComponentLanguage = "csharp"
	ComponentLanguagePHP        ComponentLanguage = "php"
	ComponentLanguageRuby       ComponentLanguage = "ruby"
)

type ComponentStatus

type ComponentStatus string

ComponentStatus represents the status of a component

const (
	ComponentStatusStable       ComponentStatus = "stable"
	ComponentStatusExperimental ComponentStatus = "experimental"
	ComponentStatusDeprecated   ComponentStatus = "deprecated"
	ComponentStatusBeta         ComponentStatus = "beta"
	ComponentStatusAlpha        ComponentStatus = "alpha"
)

type ComponentType

type ComponentType string

ComponentType represents the type of OpenTelemetry component

const (
	ComponentTypeAPI              ComponentType = "API"
	ComponentTypeSDK              ComponentType = "SDK"
	ComponentTypeInstrumentation  ComponentType = "Instrumentation"
	ComponentTypeExporter         ComponentType = "Exporter"
	ComponentTypePropagator       ComponentType = "Propagator"
	ComponentTypeSampler          ComponentType = "Sampler"
	ComponentTypeProcessor        ComponentType = "Processor"
	ComponentTypeResource         ComponentType = "Resource"
	ComponentTypeResourceDetector ComponentType = "ResourceDetector"
)

type Dependency

type Dependency struct {
	Name    string `json:"name"`
	Version string `json:"version"`
	Type    string `json:"type,omitempty"` // peer, dev, optional, etc.
}

Dependency represents a package dependency

type InstrumentationTarget

type InstrumentationTarget struct {
	Framework    string `json:"framework"`
	VersionRange string `json:"version_range"`
	MinVersion   string `json:"min_version,omitempty"`
	MaxVersion   string `json:"max_version,omitempty"`
	Notes        string `json:"notes,omitempty"`
}

InstrumentationTarget represents a target framework/library for instrumentation

type Statistics

type Statistics struct {
	TotalComponents int                    `json:"total_components"`
	ByLanguage      map[string]int         `json:"by_language"`
	ByType          map[string]int         `json:"by_type"`
	ByCategory      map[string]int         `json:"by_category"`
	ByStatus        map[string]int         `json:"by_status"`
	BySupportLevel  map[string]int         `json:"by_support_level"`
	TotalVersions   int                    `json:"total_versions"`
	LastUpdate      time.Time              `json:"last_update"`
	Source          string                 `json:"source"`
	Additional      map[string]interface{} `json:"additional,omitempty"`
}

Statistics provides summary information about the knowledge base

type SupportLevel

type SupportLevel string

SupportLevel represents the support level of a component

const (
	SupportLevelOfficial  SupportLevel = "official"
	SupportLevelCommunity SupportLevel = "community"
	SupportLevelVendor    SupportLevel = "vendor"
)

type Version

type Version struct {
	Name                string                 `json:"name"`
	ReleaseDate         time.Time              `json:"release_date"`
	Dependencies        map[string]Dependency  `json:"dependencies,omitempty"`
	MinRuntimeVersion   string                 `json:"min_runtime_version,omitempty"`
	MaxRuntimeVersion   string                 `json:"max_runtime_version,omitempty"`
	Status              VersionStatus          `json:"status,omitempty"`
	Deprecated          bool                   `json:"deprecated,omitempty"`
	BreakingChanges     []BreakingChange       `json:"breaking_changes,omitempty"`
	Metadata            map[string]interface{} `json:"metadata,omitempty"`
	RegistryURL         string                 `json:"registry_url,omitempty"`
	NPMURL              string                 `json:"npm_url,omitempty"`
	GitHubURL           string                 `json:"github_url,omitempty"`
	ChangelogURL        string                 `json:"changelog_url,omitempty"`
	Changelog           string                 `json:"changelog,omitempty"`
	CoreVersion         string                 `json:"core_version,omitempty"`
	ExperimentalVersion string                 `json:"experimental_version,omitempty"`
	Compatible          []CompatibleComponent  `json:"compatible,omitempty"`
}

Version represents a specific version of a component

type VersionStatus

type VersionStatus string

VersionStatus represents the status of a version

const (
	VersionStatusLatest     VersionStatus = "latest"
	VersionStatusStable     VersionStatus = "stable"
	VersionStatusBeta       VersionStatus = "beta"
	VersionStatusAlpha      VersionStatus = "alpha"
	VersionStatusDeprecated VersionStatus = "deprecated"
)

Jump to

Keyboard shortcuts

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