


26 октября Cloudflare добавила в пользовательские span в Workers три метода: spanContext(), setStatus() и updateName(). Они помогают связать конкретный запрос с трассировкой, явно отметить ошибку и уточнить название операции. На Mentoring.digital рассматриваем, как это упрощает разбор проблем в серверном коде.
Span описывает отдельную операцию внутри трассировки. Метод spanContext() возвращает traceId, spanId и traceFlags. Идентификаторы совпадают с теми, которые используются в Workers Observability и экспортируемых трассах.
Это позволяет записать traceId в диагностическое сообщение или вернуть его клиенту. Тогда при разборе конкретной ошибки можно искать соответствующую трассу по идентификатору, не полагаясь только на близкое время запросов. Сам идентификатор не объясняет причину сбоя: нужно просмотреть операции и события внутри найденной трассы.
Метод setStatus() устанавливает unset, ok или error; для ошибки можно добавить сообщение. Статус передаётся при экспорте в системы OpenTelemetry, но собственная панель Workers Observability пока его не показывает. Поэтому отсутствие видимого статуса в панели не следует считать доказательством, что приложение его не установило.
Метод updateName() меняет имя уже начавшегося span. Например, после определения маршрута можно использовать его шаблон вместо первоначального общего названия. Поддерживается и переименование корневого span вызова, полученного через tracing.getActiveSpan().
Выберите один тестовый маршрут и задайте ему понятное имя операции. Выполните успешный запрос и запрос с управляемой ошибкой. Сравните traceId в ответе или журнале с найденной трассой, а статус проверьте в настроенном получателе OpenTelemetry.
Полезно заранее договориться, какие операции команда выделяет в отдельные span и какие сведения записывает в диагностические сообщения. Это делает трассы сопоставимыми между запросами. Подключение наблюдаемости и разбор серверных ошибок можно пройти с ментором по инфраструктуре и DevOps.