hoistgqlgenerrors

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2022 License: MIT Imports: 6 Imported by: 0

README

status PkgGoDev

hoist-gql-errors

hoist-gql-errors extracts GraphQL errors from the downstream response and record them as OpenTelemetry exception events.

It aims at that Datadog Error Tracking collects errors from OpenTelemetry traces.

Datadog Error Tracking needs error types, error messages, and error stacktraces on service entry spans (top-level spans).

In typical web applications, top-level spans mean spans that started on http.Handler. In addition, otelhttp.Handler will record no exceptions from downstream spans.

These facts mean that Datadog Error Tracking tracks no errors from the spans started by default setup with otelhttp.Handler.

hoist-gql-errors hoists (downstream) GraphQL errors and records them as service entry spans' errors, and then Datadog Error Tracking correctly collects them.

Synopsis

See examples on pkg.go.dev.

import (
  "net/http"

  "github.com/aereal/hoist-gql-errors"
)

func main() {
  var handler http.Handler
  var _ http.Handler = hoistgqlerrors.New()(handler)
}

Installation

go get github.com/aereal/hoist-gql-errors

License

See LICENSE file.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(opts ...Option) func(http.Handler) http.Handler

New returns the middleware function that extracts GraphQL errors from downstream http.Handler.

The extracted errors are recorded span's errors.

Types

type Option

type Option func(config)

func WithEventOptions

func WithEventOptions(opts ...trace.EventOption) Option

WithEventOptions returns an Option that passes given trace.EventOption to span.RecordError().

Jump to

Keyboard shortcuts

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