mirror of
https://github.com/hanzoai/otel-collector.git
synced 2026-11-02 09:40:24 +00:00
## 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.
117 lines
2.6 KiB
YAML
117 lines
2.6 KiB
YAML
# Full valid config — mirrors the spec.
|
|
signozllmpricing:
|
|
attrs:
|
|
model: "gen_ai.request.model"
|
|
in: "gen_ai.usage.input_tokens"
|
|
out: "gen_ai.usage.output_tokens"
|
|
cache_read: "gen_ai.usage.input_token_details.cached"
|
|
cache_write: "gen_ai.usage.input_token_details.cache_creation"
|
|
default_pricing:
|
|
rules:
|
|
- name: gpt-4o
|
|
pattern: ["gpt-4o*"]
|
|
cache:
|
|
mode: subtract
|
|
read: 2.5
|
|
write: 0.0
|
|
in: 5.0
|
|
out: 15.0
|
|
- name: claude
|
|
pattern: ["claude-*"]
|
|
cache:
|
|
mode: additive
|
|
read: 0.30
|
|
write: 3.75
|
|
in: 3.0
|
|
out: 15.0
|
|
output_attrs:
|
|
in: "_signoz.gen_ai.cost_input"
|
|
out: "_signoz.gen_ai.cost_output"
|
|
cache_read: "_signoz.gen_ai.cost_cache_read"
|
|
cache_write: "_signoz.gen_ai.cost_cache_write"
|
|
total: "_signoz.gen_ai.total_cost"
|
|
|
|
# Minimal valid — only total output attr required.
|
|
signozllmpricing/minimal:
|
|
attrs:
|
|
model: "gen_ai.request.model"
|
|
in: "gen_ai.usage.input_tokens"
|
|
out: "gen_ai.usage.output_tokens"
|
|
default_pricing:
|
|
rules:
|
|
- pattern: ["*"]
|
|
cache:
|
|
mode: subtract
|
|
read: 0.0
|
|
write: 0.0
|
|
in: 1.0
|
|
out: 2.0
|
|
output_attrs:
|
|
total: "_signoz.gen_ai.total_cost"
|
|
|
|
# Invalid: missing attrs.model.
|
|
signozllmpricing/no_model_attr:
|
|
attrs:
|
|
model: ""
|
|
in: "gen_ai.usage.input_tokens"
|
|
out: "gen_ai.usage.output_tokens"
|
|
default_pricing:
|
|
rules:
|
|
- pattern: ["*"]
|
|
cache:
|
|
mode: subtract
|
|
read: 0.0
|
|
write: 0.0
|
|
in: 1.0
|
|
out: 2.0
|
|
output_attrs:
|
|
total: "_signoz.gen_ai.total_cost"
|
|
|
|
# Invalid: missing pattern (empty list).
|
|
signozllmpricing/no_pattern:
|
|
attrs:
|
|
model: "gen_ai.request.model"
|
|
default_pricing:
|
|
rules:
|
|
- pattern: []
|
|
cache:
|
|
mode: subtract
|
|
read: 0.0
|
|
write: 0.0
|
|
in: 1.0
|
|
out: 2.0
|
|
output_attrs:
|
|
total: "_signoz.gen_ai.total_cost"
|
|
|
|
# Invalid: unknown cache.mode.
|
|
signozllmpricing/bad_cache_mode:
|
|
attrs:
|
|
model: "gen_ai.request.model"
|
|
default_pricing:
|
|
rules:
|
|
- pattern: ["*"]
|
|
cache:
|
|
mode: unknown
|
|
read: 0.0
|
|
write: 0.0
|
|
in: 1.0
|
|
out: 2.0
|
|
output_attrs:
|
|
total: "_signoz.gen_ai.total_cost"
|
|
|
|
# Invalid: missing output_attrs.total.
|
|
signozllmpricing/no_total_output:
|
|
attrs:
|
|
model: "gen_ai.request.model"
|
|
default_pricing:
|
|
rules:
|
|
- pattern: ["*"]
|
|
cache:
|
|
mode: subtract
|
|
read: 0.0
|
|
write: 0.0
|
|
in: 1.0
|
|
out: 2.0
|
|
output_attrs:
|
|
total: ""
|