Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Author ¶
type Author struct {
Name string `json:"name"`
}
Author represents an author in instrumentation metadata
type Category ¶
type Category string
Category represents the type of issue
const ( CategoryMissingOtel Category = "missing_otel" CategoryConfiguration Category = "configuration" CategoryInstrumentation Category = "instrumentation" CategoryPerformance Category = "performance" CategorySecurity Category = "security" CategoryBestPractice Category = "best_practice" CategoryDeprecated Category = "deprecated" )
type ComponentType ¶
type ComponentType string
ComponentType represents different types of OTEL components
const ( ComponentTypeInstrumentation ComponentType = "instrumentation" ComponentTypeSDK ComponentType = "sdk" ComponentTypePropagator ComponentType = "propagator" ComponentTypeExporter ComponentType = "exporter" )
type EntryPoint ¶
type EntryPoint struct {
FilePath string `json:"file_path"`
Language string `json:"language"`
FunctionName string `json:"function_name"`
LineNumber uint32 `json:"line_number"`
Column uint32 `json:"column"`
NodeType string `json:"node_type"`
Confidence float64 `json:"confidence"`
Context string `json:"context"`
}
EntryPoint represents an entry point in the codebase
type InstrumentationInfo ¶
type InstrumentationInfo struct {
Package Package `json:"package"`
Title string `json:"title"`
Description string `json:"description"`
RegistryType string `json:"registry_type"`
Language string `json:"language"`
Tags []string `json:"tags,omitempty"`
License string `json:"license,omitempty"`
Authors []Author `json:"authors,omitempty"`
URLs URLs `json:"urls,omitempty"`
CreatedAt string `json:"created_at,omitempty"`
IsFirstParty bool `json:"is_first_party"`
IsAvailable bool `json:"is_available"`
RegistryURL string `json:"registry_url,omitempty"`
}
InstrumentationInfo represents available instrumentation for a package
type Issue ¶
type Issue struct {
ID string `json:"id"`
Title string `json:"title"`
Description string `json:"description"`
Severity Severity `json:"severity"`
Category Category `json:"category"`
Language string `json:"language,omitempty"`
File string `json:"file,omitempty"`
Line int `json:"line,omitempty"`
Column int `json:"column,omitempty"`
Suggestion string `json:"suggestion,omitempty"`
References []string `json:"references,omitempty"`
}
Issue represents a detected problem or recommendation
type Library ¶
type Library struct {
Name string `json:"name"`
Version string `json:"version,omitempty"`
Language string `json:"language"`
ImportPath string `json:"import_path,omitempty"`
PackageFile string `json:"package_file,omitempty"`
}
Library represents an OpenTelemetry library or package
type Opportunity ¶
type Opportunity struct {
Type OpportunityType `json:"type"`
Language string `json:"language"`
Framework string `json:"framework"`
ComponentType ComponentType `json:"componentType"`
Component string `json:"component"`
FilePath string `json:"file_path"`
Suggestion string `json:"suggestion"`
Issue *Issue `json:"issue,omitempty"`
}
Opportunity represents an instrumentation opportunity in the codebase
type OpportunityType ¶
type OpportunityType string
OpportunityType represents different types of instrumentation opportunities
const ( OpportunityInstallOTEL OpportunityType = "install_otel" OpportunityInstallComponent OpportunityType = "install_component" OpportunityRemoveComponent OpportunityType = "remove_component" )
type Package ¶
type Package struct {
Name string `json:"name"`
Version string `json:"version,omitempty"`
Language string `json:"language"`
ImportPath string `json:"import_path,omitempty"`
PackageFile string `json:"package_file,omitempty"`
}
Package represents a regular package/dependency
Click to show internal directories.
Click to hide internal directories.