- harness/es.py: append-only event store + проекции (образец — кооп-портал) - harness/levels.py: уровни 1с/1м/1ч/1д, контекст ∝ масштабу - harness/scheduler.py: уровневые потоки, идемпотентные тики, absorbed-стабы - harness/isolated_runner.py + _llm_worker.py: LLM-тик в сабпроцессе (глобальный asyncio-рантайм Strands не переживает 2+ create_harness) - cli.py: init/task/tasks/status/events + requeue (написан самим минутным агентом) - 9router: отдельный ключ sk-simbiot, модель auto (glm-5.3 первым)
65 lines
2 KiB
Python
65 lines
2 KiB
Python
# Copyright The OpenTelemetry Authors
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
from opentelemetry._logs import SeverityNumber
|
|
|
|
_STD_TO_OTEL = {
|
|
10: SeverityNumber.DEBUG,
|
|
11: SeverityNumber.DEBUG2,
|
|
12: SeverityNumber.DEBUG3,
|
|
13: SeverityNumber.DEBUG4,
|
|
14: SeverityNumber.DEBUG4,
|
|
15: SeverityNumber.DEBUG4,
|
|
16: SeverityNumber.DEBUG4,
|
|
17: SeverityNumber.DEBUG4,
|
|
18: SeverityNumber.DEBUG4,
|
|
19: SeverityNumber.DEBUG4,
|
|
20: SeverityNumber.INFO,
|
|
21: SeverityNumber.INFO2,
|
|
22: SeverityNumber.INFO3,
|
|
23: SeverityNumber.INFO4,
|
|
24: SeverityNumber.INFO4,
|
|
25: SeverityNumber.INFO4,
|
|
26: SeverityNumber.INFO4,
|
|
27: SeverityNumber.INFO4,
|
|
28: SeverityNumber.INFO4,
|
|
29: SeverityNumber.INFO4,
|
|
30: SeverityNumber.WARN,
|
|
31: SeverityNumber.WARN2,
|
|
32: SeverityNumber.WARN3,
|
|
33: SeverityNumber.WARN4,
|
|
34: SeverityNumber.WARN4,
|
|
35: SeverityNumber.WARN4,
|
|
36: SeverityNumber.WARN4,
|
|
37: SeverityNumber.WARN4,
|
|
38: SeverityNumber.WARN4,
|
|
39: SeverityNumber.WARN4,
|
|
40: SeverityNumber.ERROR,
|
|
41: SeverityNumber.ERROR2,
|
|
42: SeverityNumber.ERROR3,
|
|
43: SeverityNumber.ERROR4,
|
|
44: SeverityNumber.ERROR4,
|
|
45: SeverityNumber.ERROR4,
|
|
46: SeverityNumber.ERROR4,
|
|
47: SeverityNumber.ERROR4,
|
|
48: SeverityNumber.ERROR4,
|
|
49: SeverityNumber.ERROR4,
|
|
50: SeverityNumber.FATAL,
|
|
51: SeverityNumber.FATAL2,
|
|
52: SeverityNumber.FATAL3,
|
|
53: SeverityNumber.FATAL4,
|
|
}
|
|
|
|
|
|
def std_to_otel(levelno: int) -> SeverityNumber:
|
|
"""
|
|
Map a Python log level number as defined in
|
|
https://docs.python.org/3/library/logging.html#logging-levels
|
|
to an OTel log severity number as defined in
|
|
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-severitynumber
|
|
"""
|
|
if levelno < 10:
|
|
return SeverityNumber.UNSPECIFIED
|
|
if levelno > 53:
|
|
return SeverityNumber.FATAL4
|
|
return _STD_TO_OTEL[levelno]
|