diagnostics

package
v0.0.0-...-949823d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Delete                   = "delete"
	Get                      = "get"
	Set                      = "set"
	StateQuery               = "query"
	ConfigurationSubscribe   = "subscribe"
	ConfigurationUnsubscribe = "unsubscribe"
	StateTransaction         = "transaction"
	BulkGet                  = "bulk_get"
	BulkDelete               = "bulk_delete"
	CryptoOp                 = "crypto_op"
)
View Source
const (
	GRPCTraceContextKey = "grpc-trace-bin"
	GRPCProxyAppIDKey   = "dapr-app-id"
)
View Source
const (
	TraceparentHeader = "traceparent"
	TracestateHeader  = "tracestate"
)

We have leveraged the code from opencensus-go plugin to adhere the w3c trace context. Reference : https://github.com/census-instrumentation/opencensus-go/blob/master/plugin/ochttp/propagation/tracecontext/propagation.go

View Source
const (
	StatusSuccess     = "success"
	StatusFailed      = "failed"
	StatusRecoverable = "recoverable"
	CreateWorkflow    = "create_workflow"
	GetWorkflow       = "get_workflow"
	AddEvent          = "add_event"
	PurgeWorkflow     = "purge_workflow"

	WorkflowEvent = "event"
	Timer         = "timer"
)

Variables

View Source
var (
	KeyServerMethod = tag.MustNewKey("grpc_server_method")
	KeyServerStatus = tag.MustNewKey("grpc_server_status")

	KeyClientMethod = tag.MustNewKey("grpc_client_method")
	KeyClientStatus = tag.MustNewKey("grpc_client_status")
)

Tag key definitions for http requests.

View Source
var (
	// DefaultReportingPeriod is the default view reporting period.
	DefaultReportingPeriod = 1 * time.Minute

	// DefaultMonitoring holds service monitoring metrics definitions.
	DefaultMonitoring = newServiceMetrics()
	// DefaultGRPCMonitoring holds default gRPC monitoring handlers and middlewares.
	DefaultGRPCMonitoring = newGRPCMetrics()
	// DefaultHTTPMonitoring holds default HTTP monitoring handlers and middlewares.
	DefaultHTTPMonitoring = newHTTPMetrics()
	// DefaultComponentMonitoring holds component specific metrics.
	DefaultComponentMonitoring = newComponentMetrics()
	// DefaultResiliencyMonitoring holds resiliency specific metrics.
	DefaultResiliencyMonitoring = newResiliencyMetrics()
	// DefaultWorkflowMonitoring holds workflow specific metrics.
	DefaultWorkflowMonitoring = newWorkflowMetrics()
)
View Source
var (
	CircuitBreakerPolicy PolicyType = "circuitbreaker"
	RetryPolicy          PolicyType = "retry"
	TimeoutPolicy        PolicyType = "timeout"

	OutboundPolicyFlowDirection PolicyFlowDirection = "outbound"
	InboundPolicyFlowDirection  PolicyFlowDirection = "inbound"
)

Functions

func AddAttributesToSpan

func AddAttributesToSpan(span trace.Span, attributes map[string]string)

AddAttributesToSpan adds the given attributes in the span.

func ConstructInputBindingSpanAttributes

func ConstructInputBindingSpanAttributes(bindingName, url string) map[string]string

ConstructInputBindingSpanAttributes creates span attributes for InputBindings.

func ConstructSubscriptionSpanAttributes

func ConstructSubscriptionSpanAttributes(topic string) map[string]string

ConstructSubscriptionSpanAttributes creates span attributes for Pubsub subscription.

func ElapsedSince

func ElapsedSince(start time.Time) float64

func GRPCTraceStreamServerInterceptor

func GRPCTraceStreamServerInterceptor(appID string, spec config.TracingSpec) grpc.StreamServerInterceptor

GRPCTraceStreamServerInterceptor sets the trace context or starts the trace client span based on request. This is used by proxy requests too.

func GRPCTraceUnaryServerInterceptor

func GRPCTraceUnaryServerInterceptor(appID string, spec config.TracingSpec) grpc.UnaryServerInterceptor

GRPCTraceUnaryServerInterceptor sets the trace context or starts the trace client span based on request.

func HTTPTraceMiddleware

func HTTPTraceMiddleware(next http.Handler, appID string, spec config.TracingSpec) http.Handler

HTTPTraceMiddleware sets the trace context or starts the trace client span based on request.

func InitMetrics

func InitMetrics(appID, namespace string, metricSpec config.MetricSpec) error

InitMetrics initializes metrics.

func NewDaprTraceSampler

func NewDaprTraceSampler(samplingRateString string) sdktrace.Sampler

func ResiliencyActorTarget

func ResiliencyActorTarget(actorType string) string

func ResiliencyAppTarget

func ResiliencyAppTarget(app string) string

func ResiliencyComponentTarget

func ResiliencyComponentTarget(name string, componentType string) string

func SpanContextFromIncomingGRPCMetadata

func SpanContextFromIncomingGRPCMetadata(ctx context.Context) (trace.SpanContext, bool)

SpanContextFromIncomingGRPCMetadata returns the SpanContext stored in incoming metadata of context, or empty if there isn't one.

func SpanContextFromRequest

func SpanContextFromRequest(r *http.Request) (sc trace.SpanContext)

SpanContextFromRequest extracts a span context from incoming requests.

func SpanContextFromW3CString

func SpanContextFromW3CString(h string) (sc trace.SpanContext, ok bool)

SpanContextFromW3CString extracts a span context from given string which got earlier from SpanContextToW3CString format.

func SpanContextToGRPCMetadata

func SpanContextToGRPCMetadata(ctx context.Context, spanContext trace.SpanContext) context.Context

SpanContextToGRPCMetadata appends binary serialized SpanContext to the outgoing GRPC context.

func SpanContextToHTTPHeaders

func SpanContextToHTTPHeaders(sc trace.SpanContext, setHeader func(string, string))

SpanContextToHTTPHeaders adds the spancontext in traceparent and tracestate headers.

func SpanContextToW3CString

func SpanContextToW3CString(sc trace.SpanContext) string

SpanContextToW3CString returns the SpanContext string representation.

func StartGRPCProducerSpanChildFromParent

func StartGRPCProducerSpanChildFromParent(ct context.Context, parentSpan trace.Span, spanName string) (context.Context, trace.Span)

func StartInternalCallbackSpan

func StartInternalCallbackSpan(ctx context.Context, spanName string, parent trace.SpanContext, spec *config.TracingSpec) (context.Context, trace.Span)

StartInternalCallbackSpan starts trace span for internal callback such as input bindings and pubsub subscription.

func StartProducerSpanChildFromParent

func StartProducerSpanChildFromParent(ctx *fasthttp.RequestCtx, parentSpan trace.Span) trace.Span

func TraceIDAndStateFromSpan

func TraceIDAndStateFromSpan(span trace.Span) (string, string)

func TraceStateFromW3CString

func TraceStateFromW3CString(h string) *trace.TraceState

TraceStateFromW3CString extracts a span tracestate from given string which got earlier from TraceStateFromW3CString format.

func TraceStateToW3CString

func TraceStateToW3CString(sc trace.SpanContext) string

TraceStateToW3CString extracts the TraceState from given SpanContext and returns its string representation.

func UpdateSpanStatusFromGRPCError

func UpdateSpanStatusFromGRPCError(span trace.Span, err error)

UpdateSpanStatusFromGRPCError updates tracer span status based on error object.

func UpdateSpanStatusFromHTTPStatus

func UpdateSpanStatusFromHTTPStatus(span trace.Span, code int)

UpdateSpanStatusFromHTTPStatus updates trace span status based on response code.

Types

type HTTPMonitoringConfig

type HTTPMonitoringConfig struct {
	// contains filtered or unexported fields
}

func NewHTTPMonitoringConfig

func NewHTTPMonitoringConfig(pathMatching []string, legacy, excludeVerbs bool) HTTPMonitoringConfig

type PolicyFlowDirection

type PolicyFlowDirection string

type PolicyType

type PolicyType string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL