Files
Nityananda GohainandGitHub 61ad7bb3b3 feat: add signozllmcostprocessor (#797)
## Pull Request

### Summary
Adds llm cost processor

### Related Issues
FIxes https://github.com/SigNoz/engineering-pod/issues/4358

### Resource Impact
**Will this change affect the application's resource usage?**
- [x] Yes
- [ ] No

If **Yes**, describe:
- **Resources impacted:** (CPU, Memory, Disk, Network, etc.)
- **Expected change:** (e.g., +10% CPU, -150MB RAM)
- **Benchmarks:** Provide before/after results and how they were
measured.
2026-05-18 04:33:46 +00:00

42 lines
1.1 KiB
Go

package signozllmpricingprocessor // import "github.com/SigNoz/signoz-otel-collector/processor/signozllmpricingprocessor"
import (
"context"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/consumer"
"go.opentelemetry.io/collector/processor"
"go.opentelemetry.io/collector/processor/processorhelper"
)
var processorCapabilities = consumer.Capabilities{MutatesData: true}
const typeStr = "signozllmpricing"
// NewFactory returns the component factory for signozllmpricingprocessor.
func NewFactory() processor.Factory {
return processor.NewFactory(
component.MustNewType(typeStr),
createDefaultConfig,
processor.WithTraces(createTracesProcessor, component.StabilityLevelDevelopment),
)
}
func createDefaultConfig() component.Config {
return &Config{}
}
func createTracesProcessor(
ctx context.Context,
set processor.Settings,
cfg component.Config,
nextConsumer consumer.Traces,
) (processor.Traces, error) {
proc := newProcessor(cfg.(*Config))
return processorhelper.NewTraces(
ctx, set, cfg, nextConsumer,
proc.ProcessTraces,
processorhelper.WithCapabilities(processorCapabilities),
)
}