Documentation ¶
Overview ¶
Package contextutils contains common nebula context utils.
Index ¶
- func GetLogFields(ctx context.Context) map[string]interface{}
- func Value(ctx context.Context, key Key) string
- func Values(ctx context.Context, keys ...Key) map[string]string
- func WithAppName(ctx context.Context, appName string) context.Context
- func WithExecutionID(ctx context.Context, execID string) context.Context
- func WithGoroutineLabel(ctx context.Context, routineLabel string) context.Context
- func WithJobID(ctx context.Context, jobID string) context.Context
- func WithLaunchPlanID(ctx context.Context, launchPlan string) context.Context
- func WithNamespace(ctx context.Context, namespace string) context.Context
- func WithNodeID(ctx context.Context, nodeID string) context.Context
- func WithPhase(ctx context.Context, phase string) context.Context
- func WithProjectDomain(ctx context.Context, project, domain string) context.Context
- func WithRequestID(ctx context.Context, requestID string) context.Context
- func WithResourceVersion(ctx context.Context, resourceVersion string) context.Context
- func WithSignalID(ctx context.Context, signalID string) context.Context
- func WithTaskID(ctx context.Context, taskID string) context.Context
- func WithTaskType(ctx context.Context, taskType string) context.Context
- func WithWorkflowID(ctx context.Context, workflow string) context.Context
- type Key
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetLogFields ¶
GetLogFields gets a map of all known logKeys set on the context. logKeys are special and should be used in case, context fields are to be added to the log lines.
func WithAppName ¶
WithAppName gets a new context with AppName set.
func WithExecutionID ¶
WithExecutionID gets a new context with ExecutionID set.
func WithGoroutineLabel ¶
WithGoroutineLabel gets a new context with Go Routine label key set and a label assigned to the context using pprof.Labels. You can then call pprof.SetGoroutineLabels(ctx) to annotate the current go-routine and have that show up in pprof analysis.
func WithJobID ¶
WithJobID gets a new context with JobId set. If the existing context already has a job id, the new context will have <old_jobID>/<new_jobID> set as the job id.
func WithLaunchPlanID ¶
WithLaunchPlanID gets a new context with a launch plan ID set.
func WithNamespace ¶
WithNamespace gets a new context with namespace set.
func WithNodeID ¶
WithNodeID gets a new context with NodeID (nested) set.
func WithProjectDomain ¶
WithProjectDomain gets new context with Project and Domain values set
func WithRequestID ¶
WithRequestID gets a new context with RequestID set.
func WithResourceVersion ¶
WithResourceVersion gets a new context with the resource version set.
func WithSignalID ¶
WithSignalID gets a new context with SignalID set.
func WithTaskID ¶
WithTaskID gets a new context with WorkflowName set.
func WithTaskType ¶
WithTaskType gets a new context with TaskType set.
Types ¶
type Key ¶
type Key string
const ( AppNameKey Key = "app_name" NamespaceKey Key = "ns" TaskTypeKey Key = "tasktype" ProjectKey Key = "project" DomainKey Key = "domain" WorkflowIDKey Key = "wf" NodeIDKey Key = "node" TaskIDKey Key = "task" ExecIDKey Key = "exec_id" JobIDKey Key = "job_id" PhaseKey Key = "phase" RoutineLabelKey Key = "routine" LaunchPlanIDKey Key = "lp" ResourceVersionKey Key = "res_ver" SignalIDKey Key = "signal" RequestIDKey Key = "x-request-id" )
func MetricKeysFromStrings ¶
MetricKeysFromStrings is a convenience method to convert a slice of strings into a slice of Keys