{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Config",
"description": "Configuration for the eventlog-live-otelcol program",
"type": "object",
"properties": {
"processors": {
"type": "object",
"properties": {
"defaults": { "#ref": "#/definitions/processor_defaults" },
"logs": {
"type": "object",
"defaults": { "#ref": "#/definitions/log_defaults" },
"thread_label": { "#ref": "#/definitions/log" },
"user_marker": { "#ref": "#/definitions/log" },
"user_message": { "#ref": "#/definitions/log" },
"internal_log_message": { "#ref": "#/definitions/log" }
},
"metrics": {
"type": "object",
"properties": {
"defaults": { "#ref": "#/definitions/metric_defaults" },
"blocks_size": { "$ref": "#/definitions/metric" },
"capability_usage": { "$ref": "#/definitions/metric" },
"heap_allocated": { "$ref": "#/definitions/metric" },
"heap_live": { "$ref": "#/definitions/metric" },
"heap_prof_sample": { "$ref": "#/definitions/metric" },
"heap_size": { "$ref": "#/definitions/metric" },
"mem_current": { "$ref": "#/definitions/metric" },
"mem_needed": { "$ref": "#/definitions/metric" },
"mem_returned": { "$ref": "#/definitions/metric" }
},
"additionalProperties": false
},
"traces": {
"type": "object",
"properties": {
"defaults": { "#ref": "#/definitions/trace_defaults" },
"capability_usage": { "$ref": "#/definitions/trace" },
"thread_state": { "$ref": "#/definitions/trace" }
},
"additionalProperties": false
},
"profiles": {
"type": "object",
"properties": {
"defaults": { "#ref": "#/definitions/profile_defaults" },
"stack_sample": { "$ref": "#/definitions/profile" },
"cost_centre_sample": { "$ref": "#/definitions/profile" }
},
"additionalProperties": false
}
}
}
},
"definitions": {
"duration": {},
"duration_by_batches": {
"type": "string",
"pattern": "^([0-9]+)(x)$"
},
"duration_by_seconds": {
"type": "string",
"pattern": "^([0-9]+(\\.[0-9]+)?)(s)$"
},
"aggregation_strategy": {
"oneOf": [
{ "type": "null" },
{ "$ref": "#/definitions/aggregation_strategy_bool" },
{ "$ref": "#/definitions/aggregation_strategy_duration" }
]
},
"aggregation_strategy_bool": {
"type": "boolean"
},
"aggregation_strategy_duration": {
"oneOf": [
{ "$ref": "#/definitions/duration_by_batches" },
{ "$ref": "#/definitions/duration_by_seconds" }
]
},
"export_strategy": {
"oneOf": [
{ "type": "null" },
{ "$ref": "#/definitions/export_strategy_bool" },
{ "$ref": "#/definitions/export_strategy_duration" }
]
},
"export_strategy_bool": {
"type": "boolean"
},
"export_strategy_duration": {
"oneOf": [
{ "$ref": "#/definitions/duration_by_batches" },
{ "$ref": "#/definitions/duration_by_seconds" }
]
},
"processor_defaults": {
"description": "An optional 'defaults' block for defining YAML anchors.",
"properties": {
"export": { "$ref": "#/definitions/export_strategy" },
"aggregate": { "$ref": "#/definitions/aggregation_strategy" }
},
"additionalProperties": false
},
"log": {
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
},
"log_defaults": {
"description": "An optional 'defaults' block for defining YAML anchors.",
"properties": {
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
},
"metric": {
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"export": { "$ref": "#/definitions/export_strategy" },
"aggregate": { "$ref": "#/definitions/aggregation_strategy" }
},
"additionalProperties": false
},
"metric_defaults": {
"description": "An optional 'defaults' block for defining YAML anchors.",
"properties": {
"export": { "$ref": "#/definitions/export_strategy" },
"aggregate": { "$ref": "#/definitions/aggregation_strategy" }
},
"additionalProperties": false
},
"trace": {
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
},
"trace_defaults": {
"description": "An optional 'defaults' block for defining YAML anchors.",
"properties": {
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
},
"profile": {
"properties": {
"name": { "type": "string" },
"description": { "type": "string" },
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
},
"profile_defaults": {
"description": "An optional 'defaults' block for defining YAML anchors.",
"properties": {
"export": { "$ref": "#/definitions/export_strategy" }
},
"additionalProperties": false
}
}
}