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" )