domain

package
v0.1.0-beta.2 Latest Latest
Warning

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

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

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

type Severity

type Severity string

Severity levels for issues

const (
	SeverityError   Severity = "error"
	SeverityWarning Severity = "warning"
	SeverityInfo    Severity = "info"
)

type URLs

type URLs struct {
	Repo string `json:"repo,omitempty"`
}

URLs represents URLs in instrumentation metadata

Jump to

Keyboard shortcuts

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