Documentation
¶
Index ¶
- type CodeInjector
- type DotNetInjector
- func (h *DotNetInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *DotNetInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *DotNetInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *DotNetInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *DotNetInjector) FormatFrameworkImports(imports []string) string
- func (h *DotNetInjector) FormatImports(imports []string, hasExisting bool) string
- func (h *DotNetInjector) FormatSingleImport(importPath string) string
- func (h *DotNetInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *DotNetInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *DotNetInjector) GetConfig() *types.LanguageConfig
- func (h *DotNetInjector) GetFrameworkImports(content []byte) []string
- func (h *DotNetInjector) GetInsertionPointPriority(captureName string) int
- func (h *DotNetInjector) GetLanguage() *sitter.Language
- func (h *DotNetInjector) GetRequiredImports() []string
- type GoInjector
- func (h *GoInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *GoInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *GoInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *GoInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *GoInjector) FormatFrameworkImports(imports []string) string
- func (h *GoInjector) FormatImports(imports []string, hasExistingImports bool) string
- func (h *GoInjector) FormatSingleImport(importPath string) string
- func (h *GoInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *GoInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *GoInjector) GetConfig() *types.LanguageConfig
- func (h *GoInjector) GetFrameworkImports(content []byte) []string
- func (h *GoInjector) GetInsertionPointPriority(captureName string) int
- func (h *GoInjector) GetLanguage() *sitter.Language
- func (h *GoInjector) GetRequiredImports() []string
- type JavaInjector
- func (h *JavaInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *JavaInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *JavaInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *JavaInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *JavaInjector) FormatFrameworkImports(imports []string) string
- func (h *JavaInjector) FormatImports(imports []string, hasExistingImports bool) string
- func (h *JavaInjector) FormatSingleImport(importPath string) string
- func (h *JavaInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *JavaInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *JavaInjector) GetConfig() *types.LanguageConfig
- func (h *JavaInjector) GetFrameworkImports(content []byte) []string
- func (h *JavaInjector) GetInsertionPointPriority(captureName string) int
- func (h *JavaInjector) GetLanguage() *sitter.Language
- func (h *JavaInjector) GetMavenDependencies() []string
- func (h *JavaInjector) GetRequiredImports() []string
- type JavaScriptInjector
- func (h *JavaScriptInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *JavaScriptInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *JavaScriptInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *JavaScriptInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *JavaScriptInjector) FormatFrameworkImports(imports []string) string
- func (h *JavaScriptInjector) FormatImports(imports []string, hasExisting bool) string
- func (h *JavaScriptInjector) FormatSingleImport(importPath string) string
- func (h *JavaScriptInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *JavaScriptInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *JavaScriptInjector) GetConfig() *types.LanguageConfig
- func (h *JavaScriptInjector) GetFrameworkImports(content []byte) []string
- func (h *JavaScriptInjector) GetInsertionPointPriority(captureName string) int
- func (h *JavaScriptInjector) GetLanguage() *sitter.Language
- func (h *JavaScriptInjector) GetRequiredImports() []string
- type LanguageInjector
- type PHPInjector
- func (h *PHPInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *PHPInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *PHPInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *PHPInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *PHPInjector) FormatFrameworkImports(imports []string) string
- func (h *PHPInjector) FormatImports(imports []string, hasExisting bool) string
- func (h *PHPInjector) FormatSingleImport(importPath string) string
- func (h *PHPInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *PHPInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *PHPInjector) GetConfig() *types.LanguageConfig
- func (h *PHPInjector) GetFrameworkImports(content []byte) []string
- func (h *PHPInjector) GetInsertionPointPriority(captureName string) int
- func (h *PHPInjector) GetLanguage() *sitter.Language
- func (h *PHPInjector) GetRequiredImports() []string
- type PythonInjector
- func (h *PythonInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *PythonInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *PythonInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *PythonInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *PythonInjector) FormatFrameworkImports(imports []string) string
- func (h *PythonInjector) FormatImports(imports []string, hasExistingImports bool) string
- func (h *PythonInjector) FormatSingleImport(importPath string) string
- func (h *PythonInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *PythonInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *PythonInjector) GetConfig() *types.LanguageConfig
- func (h *PythonInjector) GetFrameworkImports(content []byte) []string
- func (h *PythonInjector) GetInsertionPointPriority(captureName string) int
- func (h *PythonInjector) GetLanguage() *sitter.Language
- func (h *PythonInjector) GetRequiredImports() []string
- type RubyInjector
- func (h *RubyInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *RubyInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, ...)
- func (h *RubyInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
- func (h *RubyInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
- func (h *RubyInjector) FormatFrameworkImports(imports []string) string
- func (h *RubyInjector) FormatImports(imports []string, hasExistingImports bool) string
- func (h *RubyInjector) FormatSingleImport(importPath string) string
- func (h *RubyInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
- func (h *RubyInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
- func (h *RubyInjector) GetConfig() *types.LanguageConfig
- func (h *RubyInjector) GetFrameworkImports(content []byte) []string
- func (h *RubyInjector) GetInsertionPointPriority(captureName string) int
- func (h *RubyInjector) GetLanguage() *sitter.Language
- func (h *RubyInjector) GetRequiredImports() []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CodeInjector ¶
type CodeInjector struct {
// contains filtered or unexported fields
}
func NewCodeInjector ¶
func NewCodeInjector(logger logger.Logger) *CodeInjector
func (*CodeInjector) DetectEntryPoints ¶
func (ci *CodeInjector) DetectEntryPoints(projectPath string, language string) ([]domain.EntryPoint, error)
DetectEntryPoints scans a project directory for entry points using language handlers. Returns at most one best entry point per directory.
func (*CodeInjector) InjectOtelInitialization ¶
func (ci *CodeInjector) InjectOtelInitialization(ctx context.Context, entryPoint *domain.EntryPoint, operationsData *types.OperationsData, req types.GenerationRequest) ([]string, error)
type DotNetInjector ¶
type DotNetInjector struct {
// contains filtered or unexported fields
}
DotNetInjector implements LanguageInjector for C#/.NET
func NewDotNetInjector ¶
func NewDotNetInjector() *DotNetInjector
func (*DotNetInjector) AnalyzeFunctionCapture ¶
func (h *DotNetInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
func (*DotNetInjector) AnalyzeImportCapture ¶
func (h *DotNetInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
func (*DotNetInjector) FallbackAnalyzeEntryPoints ¶
func (h *DotNetInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
func (*DotNetInjector) FallbackAnalyzeImports ¶
func (h *DotNetInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
func (*DotNetInjector) FormatFrameworkImports ¶
func (h *DotNetInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for C#
func (*DotNetInjector) FormatImports ¶
func (h *DotNetInjector) FormatImports(imports []string, hasExisting bool) string
func (*DotNetInjector) FormatSingleImport ¶
func (h *DotNetInjector) FormatSingleImport(importPath string) string
func (*DotNetInjector) GenerateFrameworkModifications ¶
func (h *DotNetInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for C#
func (*DotNetInjector) GenerateImportModifications ¶
func (h *DotNetInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*DotNetInjector) GetConfig ¶
func (h *DotNetInjector) GetConfig() *types.LanguageConfig
func (*DotNetInjector) GetFrameworkImports ¶
func (h *DotNetInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*DotNetInjector) GetInsertionPointPriority ¶
func (h *DotNetInjector) GetInsertionPointPriority(captureName string) int
func (*DotNetInjector) GetLanguage ¶
func (h *DotNetInjector) GetLanguage() *sitter.Language
func (*DotNetInjector) GetRequiredImports ¶
func (h *DotNetInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in C#
type GoInjector ¶
type GoInjector struct {
// contains filtered or unexported fields
}
GoInjector implements LanguageHandler for Go
func NewGoInjector ¶
func NewGoInjector() *GoInjector
NewGoInjector creates a new Go language handler
func (*GoInjector) AnalyzeFunctionCapture ¶
func (h *GoInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
AnalyzeFunctionCapture processes a function capture from tree-sitter query for Go
func (*GoInjector) AnalyzeImportCapture ¶
func (h *GoInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
AnalyzeImportCapture processes an import capture from tree-sitter query for Go
func (*GoInjector) FallbackAnalyzeEntryPoints ¶
func (h *GoInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints: no-op for Go since tree-sitter captures main/init reliably
func (*GoInjector) FallbackAnalyzeImports ¶
func (h *GoInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports provides Go-specific import analysis when tree-sitter yields no insertion points
func (*GoInjector) FormatFrameworkImports ¶
func (h *GoInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for Go
func (*GoInjector) FormatImports ¶
func (h *GoInjector) FormatImports(imports []string, hasExistingImports bool) string
FormatImports formats Go import statements
func (*GoInjector) FormatSingleImport ¶
func (h *GoInjector) FormatSingleImport(importPath string) string
FormatSingleImport formats a single Go import statement
func (*GoInjector) GenerateFrameworkModifications ¶
func (h *GoInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for Go
func (*GoInjector) GenerateImportModifications ¶
func (h *GoInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*GoInjector) GetConfig ¶
func (h *GoInjector) GetConfig() *types.LanguageConfig
GetConfig returns the language configuration for Go
func (*GoInjector) GetFrameworkImports ¶
func (h *GoInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*GoInjector) GetInsertionPointPriority ¶
func (h *GoInjector) GetInsertionPointPriority(captureName string) int
GetInsertionPointPriority returns priority for Go insertion point types
func (*GoInjector) GetLanguage ¶
func (h *GoInjector) GetLanguage() *sitter.Language
GetLanguage returns the tree-sitter language parser for Go
func (*GoInjector) GetRequiredImports ¶
func (h *GoInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in Go
type JavaInjector ¶
type JavaInjector struct {
// contains filtered or unexported fields
}
JavaInjector implements LanguageInjector for Java
func NewJavaInjector ¶
func NewJavaInjector() *JavaInjector
NewJavaInjector creates a new Java language handler
func (*JavaInjector) AnalyzeFunctionCapture ¶
func (h *JavaInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
AnalyzeFunctionCapture processes a function capture from tree-sitter query for Java
func (*JavaInjector) AnalyzeImportCapture ¶
func (h *JavaInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
AnalyzeImportCapture processes an import capture from tree-sitter query for Java
func (*JavaInjector) FallbackAnalyzeEntryPoints ¶
func (h *JavaInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints: no-op for Java; main method capture should be sufficient
func (*JavaInjector) FallbackAnalyzeImports ¶
func (h *JavaInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports: no-op for Java
func (*JavaInjector) FormatFrameworkImports ¶
func (h *JavaInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for Java
func (*JavaInjector) FormatImports ¶
func (h *JavaInjector) FormatImports(imports []string, hasExistingImports bool) string
FormatImports formats Java import statements
func (*JavaInjector) FormatSingleImport ¶
func (h *JavaInjector) FormatSingleImport(importPath string) string
FormatSingleImport formats a single Java import statement
func (*JavaInjector) GenerateFrameworkModifications ¶
func (h *JavaInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for Java
func (*JavaInjector) GenerateImportModifications ¶
func (h *JavaInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*JavaInjector) GetConfig ¶
func (h *JavaInjector) GetConfig() *types.LanguageConfig
GetConfig returns the language configuration for Java
func (*JavaInjector) GetFrameworkImports ¶
func (h *JavaInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*JavaInjector) GetInsertionPointPriority ¶
func (h *JavaInjector) GetInsertionPointPriority(captureName string) int
GetInsertionPointPriority returns priority for Java insertion point types
func (*JavaInjector) GetLanguage ¶
func (h *JavaInjector) GetLanguage() *sitter.Language
GetLanguage returns the tree-sitter language parser for Java
func (*JavaInjector) GetMavenDependencies ¶
func (h *JavaInjector) GetMavenDependencies() []string
GetMavenDependencies returns the list of Maven dependencies needed for OTEL in Java
func (*JavaInjector) GetRequiredImports ¶
func (h *JavaInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in Java
type JavaScriptInjector ¶
type JavaScriptInjector struct {
// contains filtered or unexported fields
}
JavaScriptInjector implements LanguageInjector for JavaScript
func NewJavaScriptInjector ¶
func NewJavaScriptInjector() *JavaScriptInjector
NewJavaScriptInjector creates a new handler
func (*JavaScriptInjector) AnalyzeFunctionCapture ¶
func (h *JavaScriptInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
AnalyzeFunctionCapture finds entry blocks
func (*JavaScriptInjector) AnalyzeImportCapture ¶
func (h *JavaScriptInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
AnalyzeImportCapture records imports
func (*JavaScriptInjector) FallbackAnalyzeEntryPoints ¶
func (h *JavaScriptInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints: no-op for JavaScript; default program node is already considered
func (*JavaScriptInjector) FallbackAnalyzeImports ¶
func (h *JavaScriptInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports: no-op for JS
func (*JavaScriptInjector) FormatFrameworkImports ¶
func (h *JavaScriptInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for JavaScript
func (*JavaScriptInjector) FormatImports ¶
func (h *JavaScriptInjector) FormatImports(imports []string, hasExisting bool) string
FormatImports formats JS import statements (ESM)
func (*JavaScriptInjector) FormatSingleImport ¶
func (h *JavaScriptInjector) FormatSingleImport(importPath string) string
FormatSingleImport formats a single JS import
func (*JavaScriptInjector) GenerateFrameworkModifications ¶
func (h *JavaScriptInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for JavaScript
func (*JavaScriptInjector) GenerateImportModifications ¶
func (h *JavaScriptInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*JavaScriptInjector) GetConfig ¶
func (h *JavaScriptInjector) GetConfig() *types.LanguageConfig
GetConfig returns the language configuration
func (*JavaScriptInjector) GetFrameworkImports ¶
func (h *JavaScriptInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*JavaScriptInjector) GetInsertionPointPriority ¶
func (h *JavaScriptInjector) GetInsertionPointPriority(captureName string) int
GetInsertionPointPriority for JS
func (*JavaScriptInjector) GetLanguage ¶
func (h *JavaScriptInjector) GetLanguage() *sitter.Language
GetLanguage returns the tree-sitter language for JavaScript
func (*JavaScriptInjector) GetRequiredImports ¶
func (h *JavaScriptInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in JavaScript
type LanguageInjector ¶
type LanguageInjector interface { // GetLanguage returns the tree-sitter language parser GetLanguage() *sitter.Language // GetConfig returns the language configuration GetConfig() *types.LanguageConfig // GetRequiredImports returns the list of imports needed for OTEL GetRequiredImports() []string // GetFrameworkImports returns framework-specific imports based on detected frameworks GetFrameworkImports(content []byte) []string // FormatImports formats import statements for this language FormatImports(imports []string, hasExistingImports bool) string // FormatSingleImport formats a single import statement FormatSingleImport(importPath string) string // FormatFrameworkImports formats framework-specific import statements FormatFrameworkImports(imports []string) string // AnalyzeImportCapture processes an import capture from tree-sitter query AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis) // AnalyzeFunctionCapture processes a function capture from tree-sitter query AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig) // GetInsertionPointPriority returns priority for insertion point types GetInsertionPointPriority(captureName string) int // GenerateFrameworkModifications generates framework-specific instrumentation modifications GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification // FallbackAnalyzeImports allows language-specific analysis if tree-sitter didn't find enough info FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis) // FallbackAnalyzeEntryPoints allows language-specific entrypoint discovery if tree-sitter didn't find any FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis) // GenerateImportModifications generates modifications to fix import statements GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification }
LanguageHandler defines the interface for language-specific code injection operations
type PHPInjector ¶
type PHPInjector struct {
// contains filtered or unexported fields
}
PHPInjector implements LanguageInjector for PHP
func (*PHPInjector) AnalyzeFunctionCapture ¶
func (h *PHPInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
func (*PHPInjector) AnalyzeImportCapture ¶
func (h *PHPInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
func (*PHPInjector) FallbackAnalyzeEntryPoints ¶
func (h *PHPInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints: if none detected, treat file start as entry
func (*PHPInjector) FallbackAnalyzeImports ¶
func (h *PHPInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports: try to place require after opening tag if no locations found
func (*PHPInjector) FormatFrameworkImports ¶
func (h *PHPInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for PHP
func (*PHPInjector) FormatImports ¶
func (h *PHPInjector) FormatImports(imports []string, hasExisting bool) string
func (*PHPInjector) FormatSingleImport ¶
func (h *PHPInjector) FormatSingleImport(importPath string) string
func (*PHPInjector) GenerateFrameworkModifications ¶
func (h *PHPInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for PHP
func (*PHPInjector) GenerateImportModifications ¶
func (h *PHPInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*PHPInjector) GetConfig ¶
func (h *PHPInjector) GetConfig() *types.LanguageConfig
func (*PHPInjector) GetFrameworkImports ¶
func (h *PHPInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*PHPInjector) GetInsertionPointPriority ¶
func (h *PHPInjector) GetInsertionPointPriority(captureName string) int
func (*PHPInjector) GetLanguage ¶
func (h *PHPInjector) GetLanguage() *sitter.Language
func (*PHPInjector) GetRequiredImports ¶
func (h *PHPInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in PHP
type PythonInjector ¶
type PythonInjector struct {
// contains filtered or unexported fields
}
PythonInjector implements LanguageHandler for Python
func NewPythonInjector ¶
func NewPythonInjector() *PythonInjector
NewPythonInjector creates a new Python language handler
func (*PythonInjector) AnalyzeFunctionCapture ¶
func (h *PythonInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
AnalyzeFunctionCapture processes a function capture from tree-sitter query for Python
func (*PythonInjector) AnalyzeImportCapture ¶
func (h *PythonInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
AnalyzeImportCapture processes an import capture from tree-sitter query for Python
func (*PythonInjector) FallbackAnalyzeEntryPoints ¶
func (h *PythonInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints uses regex to find the if __name__ == '__main__' block when tree-sitter misses it
func (*PythonInjector) FallbackAnalyzeImports ¶
func (h *PythonInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports for Python: no-op since tree-sitter captures are sufficient
func (*PythonInjector) FormatFrameworkImports ¶
func (h *PythonInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for Python
func (*PythonInjector) FormatImports ¶
func (h *PythonInjector) FormatImports(imports []string, hasExistingImports bool) string
FormatImports formats Python import statements
func (*PythonInjector) FormatSingleImport ¶
func (h *PythonInjector) FormatSingleImport(importPath string) string
FormatSingleImport formats a single Python import statement
func (*PythonInjector) GenerateFrameworkModifications ¶
func (h *PythonInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications
func (*PythonInjector) GenerateImportModifications ¶
func (h *PythonInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*PythonInjector) GetConfig ¶
func (h *PythonInjector) GetConfig() *types.LanguageConfig
GetConfig returns the language configuration for Python
func (*PythonInjector) GetFrameworkImports ¶
func (h *PythonInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*PythonInjector) GetInsertionPointPriority ¶
func (h *PythonInjector) GetInsertionPointPriority(captureName string) int
GetInsertionPointPriority returns priority for Python insertion point types
func (*PythonInjector) GetLanguage ¶
func (h *PythonInjector) GetLanguage() *sitter.Language
GetLanguage returns the tree-sitter language parser for Python
func (*PythonInjector) GetRequiredImports ¶
func (h *PythonInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in Python
type RubyInjector ¶
type RubyInjector struct {
// contains filtered or unexported fields
}
RubyInjector implements LanguageInjector for Ruby
func NewRubyInjector ¶
func NewRubyInjector() *RubyInjector
NewRubyInjector creates a new Ruby language handler
func (*RubyInjector) AnalyzeFunctionCapture ¶
func (h *RubyInjector) AnalyzeFunctionCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis, config *types.LanguageConfig)
AnalyzeFunctionCapture marks the whole program as main block
func (*RubyInjector) AnalyzeImportCapture ¶
func (h *RubyInjector) AnalyzeImportCapture(captureName string, node *sitter.Node, content []byte, analysis *types.FileAnalysis)
AnalyzeImportCapture processes import captures
func (*RubyInjector) FallbackAnalyzeEntryPoints ¶
func (h *RubyInjector) FallbackAnalyzeEntryPoints(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeEntryPoints: no-op; treat entire file as main
func (*RubyInjector) FallbackAnalyzeImports ¶
func (h *RubyInjector) FallbackAnalyzeImports(content []byte, analysis *types.FileAnalysis)
FallbackAnalyzeImports: no-op for now
func (*RubyInjector) FormatFrameworkImports ¶
func (h *RubyInjector) FormatFrameworkImports(imports []string) string
FormatFrameworkImports formats framework-specific import statements for Ruby
func (*RubyInjector) FormatImports ¶
func (h *RubyInjector) FormatImports(imports []string, hasExistingImports bool) string
FormatImports formats Ruby require statements
func (*RubyInjector) FormatSingleImport ¶
func (h *RubyInjector) FormatSingleImport(importPath string) string
FormatSingleImport formats a single Ruby require
func (*RubyInjector) GenerateFrameworkModifications ¶
func (h *RubyInjector) GenerateFrameworkModifications(content []byte, operationsData *types.OperationsData) []types.CodeModification
GenerateFrameworkModifications generates framework-specific instrumentation modifications for Ruby
func (*RubyInjector) GenerateImportModifications ¶
func (h *RubyInjector) GenerateImportModifications(content []byte, analysis *types.FileAnalysis) []types.CodeModification
GenerateImportModifications generates modifications to fix import statements
func (*RubyInjector) GetConfig ¶
func (h *RubyInjector) GetConfig() *types.LanguageConfig
GetConfig returns the language configuration
func (*RubyInjector) GetFrameworkImports ¶
func (h *RubyInjector) GetFrameworkImports(content []byte) []string
GetFrameworkImports returns framework-specific imports based on detected frameworks
func (*RubyInjector) GetInsertionPointPriority ¶
func (h *RubyInjector) GetInsertionPointPriority(captureName string) int
GetInsertionPointPriority returns priority for insertion types
func (*RubyInjector) GetLanguage ¶
func (h *RubyInjector) GetLanguage() *sitter.Language
GetLanguage returns the tree-sitter language for Ruby
func (*RubyInjector) GetRequiredImports ¶
func (h *RubyInjector) GetRequiredImports() []string
GetRequiredImports returns the list of imports needed for OTEL in Ruby