Добавление службы и версии в пользовательский api трассировки стекового драйвера

Я использую https://github.com/GoogleCloudPlatform/google-cloud-go/tree/master/trace для отправки пользовательских трассировок в Stackdriver Trace из GCP. Все эти следы останутся без сервиса или версии. Как добавить эту информацию с помощью API трассировки?

Есть ли способ добавить serviceContext в trace.NewClient или диапазон?

РЕДАКТИРОВАТЬ: первый ответ помогает, но пользовательский интерфейс Stackdriver не отображает их, если они не являются GAE (или внутренними приложениями). Моя - отдельное приложение Go.

пользовательский интерфейс stackdriver


person Vish B    schedule 09.12.2016    source источник


Ответы (2)


Вы можете добавить эти две метки к создаваемому диапазону:

trace.cloud.google.com/gae/app/module trace.cloud.google.com/gae/app/version

person Mary Koes    schedule 09.12.2016
comment
Спасибо. Это действительно попадает в информацию о трассировке. К сожалению, пользовательский интерфейс stackdriver, вероятно, получает эту версию только от внутренних служб. - person Vish B; 10.12.2016
comment
Я думаю, это должно сработать. Можете ли вы опубликовать код, который вы используете для их публикации? - person Mary Koes; 13.12.2016

У меня точно такая же проблема, вот соответствующая часть моего кода:

    span := tc.SpanFromRequest(r)
    span.SetLabel("trace.cloud.google.com/gae/app/module", "my-service")
    span.SetLabel("trace.cloud.google.com/gae/app/version", "v0.1")
    defer span.Finish()

Когда я смотрю на детали диапазона, панель показывает мне правильную услугу и версию, но я не могу фильтровать по услуге / версии, как описано в исходном вопросе.

Мысли?

person user666406    schedule 29.08.2017