Documentation
¶
Overview ¶
Package pubsub provides functions to trace the cloud.google.com/pubsub/go package.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WrapReceiveHandler ¶
func WrapReceiveHandler(s *pubsub.Subscription, f func(context.Context, *pubsub.Message), opts ...ReceiveOption) func(context.Context, *pubsub.Message)
WrapReceiveHandler returns a receive handler that wraps the supplied handler, extracts any tracing metadata attached to the received message, and starts a receive span.
Types ¶
type PublishResult ¶
type PublishResult struct {
*pubsub.PublishResult
// contains filtered or unexported fields
}
PublishResult wraps *pubsub.PublishResult
func Publish ¶
Publish publishes a message on the specified topic and returns a PublishResult. This function is functionally equivalent to t.Publish(ctx, msg), but it also starts a publish span and it ensures that the tracing metadata is propagated as attributes attached to the published message. It is required to call (*PublishResult).Get(ctx) on the value returned by Publish to complete the span.
Example ¶
package main
import (
"context"
"log"
pubsubtrace "git.proto.group/protoobp/pobp-trace-go/contrib/cloud.google.com/go/pubsub.v1"
"cloud.google.com/go/pubsub"
)
func main() {
client, err := pubsub.NewClient(context.Background(), "project-id")
if err != nil {
log.Fatal(err)
}
topic := client.Topic("topic")
_, err = pubsubtrace.Publish(context.Background(), topic, &pubsub.Message{Data: []byte("hello world!")}).Get(context.Background())
if err != nil {
log.Fatal(err)
}
}
Output:
type ReceiveOption ¶
type ReceiveOption func(cfg *config)
A ReceiveOption is used to customize spans started by WrapReceiveHandler.
func WithServiceName ¶
func WithServiceName(serviceName string) ReceiveOption
WithServiceName sets the service name tag for traces started by WrapReceiveHandler.