2016-12-09 2 views
1

J'utilise https://github.com/GoogleCloudPlatform/google-cloud-go/tree/master/trace pour envoyer des traces personnalisées à Stackdriver Trace à partir de GCP. Toutes ces traces finissent sans service ni version. Comment ajoutez-vous cette information en utilisant l'API de trace?Ajout de service et de version à une API de suivi de stackdriver personnalisée

Existe-t-il un moyen d'ajouter le serviceContext dans trace.NewClient ou l'étendue?

EDIT: La première réponse est utile, mais l'interface utilisateur de Stackdriver ne les affiche pas à moins qu'ils ne soient GAE (ou applications internes). Le mien est une application autonome Go.

stackdriver ui

Répondre

1

Vous pouvez ajouter ces deux étiquettes pour la durée que vous créez:

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

+0

Merci. Cela finit par se retrouver dans les informations de trace. Malheureusement, l'interface utilisateur de stackdriver ne reçoit probablement ces versions des services internes. –

+0

Je pense que cela devrait fonctionner. Pouvez-vous poster le code que vous utilisez pour les afficher? –

0

Je vais avoir le même problème, voici la partie pertinente de mon code:

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() 

le tableau de bord me montre la le service et la version corrects quand je regarde les détails d'envergure, mais je ne peux pas filtrer par le service/version, exactement comme décrit dans la question originale.

Pensées?