Naar hoofdinhoud gaan
AppSignal voor Go kan worden geconfigureerd via OpenTelemetry-resource-attributen. Resource-attributen zijn attributen die op elke trace van toepassing zijn die vanuit de applicatie via OpenTelemetry wordt gerapporteerd. Deze resource-attributen moeten worden geconfigureerd in uw applicatie, waar u ook de OpenTelemetry-exporter configureert om te exporteren naar de AppSignal collector. Voeg een resource toe aan uw tracer provider om de resource-attributen te configureren, zoals hieronder getoond.
Go
import (
	// Other imports here...

	// Import these OpenTelemetry packages
	"go.opentelemetry.io/otel"
	"go.opentelemetry.io/otel/attribute"
	"go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp"
	"go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp"
	"go.opentelemetry.io/otel/exporters/otlp/otlptrace"
	"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
	"go.opentelemetry.io/otel/log/global"
	"go.opentelemetry.io/otel/propagation"
	sdklog "go.opentelemetry.io/otel/sdk/log"
	sdkmetric "go.opentelemetry.io/otel/sdk/metric"
	sdkresource "go.opentelemetry.io/otel/sdk/resource"
	sdktrace "go.opentelemetry.io/otel/sdk/trace"
)

func initTracer() func(context.Context) error {
	// OpenTelemetry config setup here

	resource, err := sdkresource.Merge(
		sdkresource.Default(),
		sdkresource.NewSchemaless(
			resource.WithAttributes(attribute.String("appsignal.config.name", "My app name")),

			// And other resource attributes
		),
	)

	tracerProvider := sdktrace.NewTracerProvider(
		// Including other `.With...` function calls
		sdktrace.WithResource(resource),
	)

	// Followed by the rest of the OpenTelemetry config
}

Beschikbare opties

environment

VeldWaarde
Sleutel resource-attribuutappsignal.config.environment
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

De omgeving van de app die aan AppSignal wordt gerapporteerd.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.environment", "production")),

		// And other resource attributes
	),
)
Opmerking: Het wijzigen van de naam of omgeving van een bestaande app maakt een nieuwe app aan op AppSignal.com.

host.name

VeldWaarde
Sleutel resource-attribuuthost.name
Vereistja
TypeString
Standaardwaardegedetecteerd vanuit systeem

Beschrijving

Het resource-attribuut host.name helpt AppSignal verschillende hosts te herkennen voor traces en tagt de traces automatisch met de hostnaam.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("host.name", "my-hostname")),

		// And other resource attributes
	),
)

language_integration

VeldWaarde
Sleutel resource-attribuutappsignal.config.language_integration
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

AppSignal gebruikt het resource-attribuut language_integration om de taal van een trace te detecteren en exception-backtraces correct te parsen. Geef voor het instellen van deze optie de taalnaam in kleine letters op: go.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.language_integration", "go")),

		// And other resource attributes
	),
)

name

VeldWaarde
Sleutel resource-attribuutappsignal.config.name
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

Naam van uw applicatie zoals deze op AppSignal.com moet worden weergegeven.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.name", "My awesome app")),

		// And other resource attributes
	),
)
Opmerking: Het wijzigen van de naam of omgeving van een bestaande app maakt een nieuwe app aan op AppSignal.com.

push_api_key

VeldWaarde
Sleutel resource-attribuutappsignal.config.push_api_key
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

De authenticatiesleutel op organisatieniveau om te authenticeren met onze Push API. Lees meer over de AppSignal Push API-sleutel.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.push_api_key", "00000000-0000-0000-0000-000000000000")),

		// And other resource attributes
	),
)

revision

VeldWaarde
Sleutel resource-attribuutappsignal.config.revision
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

Stel de app-revisie in om de momenteel draaiende versie van uw app te rapporteren. AppSignal maakt een deploy marker aan wanneer deze waarde verandert en tagt alle binnenkomende data met de huidige revisie. Lees meer over deploy markers in het onderwerp deploy markers.
Go
import (
	"os/exec"

	// And other imports
)

var revision string
cmd := exec.Command("git", "rev-parse", "--short", "HEAD")
output, err := cmd.Output()
if err != nil {
	revision = "unknown"
} else {
	revision = strings.TrimSpace(string(output))
}

resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.revision", revision)),

		// And other resource attributes
	),
)

service.name

VeldWaarde
Sleutel resource-attribuutservice.name
Vereistja
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

Het resource-attribuut service.name helpt AppSignal verschillende services voor traces te herkennen en groepeert de traces automatisch in een namespace op basis van de servicenaam. Kies een naam die past bij uw applicatie, zoals “Web server”, “Background worker”, “Email service”, “Authentication service”, enzovoort.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("service.name", "My service name")),

		// And other resource attributes
	),
)

app_path

VeldWaarde
Sleutel resource-attribuutappsignal.config.app_path
Vereistnee
TypeString
Standaardwaardenil (Standaard niet ingesteld)

Beschrijving

De locatie van de app op het bestandssysteem van de host. Het resource-attribuut app_path helpt AppSignal backtraces op te schonen door het absolute app-pad uit de backtrace-regels te verwijderen. Op die manier worden alleen paden binnen de context van de projectmap getoond. Dit maakt onze functie Backtrace links mogelijk.
Go
import (
	"os"

	// And other imports
)

resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.String("appsignal.config.app_path", os.Getenv("PWD"))),

		// And other resource attributes
	),
)

filter_attributes

VeldWaarde
Sleutel resource-attribuutappsignal.config.filter_attributes
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Het resource-attribuut filter_attributes stelt u in staat specifieke attributen uit te filteren zodat deze niet aan AppSignal worden gerapporteerd. Dit kan handig zijn om gevoelige of niet-relevante informatie buiten de rapportage te houden. Als een attribuut op deze manier wordt uitgefilterd, verschijnt het helemaal niet in de interface.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.filter_attributes", []string{"my.secret.attribute", "some.opentelemetry.attribute"})),

		// And other resource attributes
	),
)

filter_function_parameters

VeldWaarde
Sleutel resource-attribuutappsignal.config.filter_function_parameters
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Dit resource-attribuut stelt u in staat functieparameters uit te filteren die zijn ingesteld in het span-attribuut appsignal.function.parameters. In het onderstaande voorbeeld worden de waarden voor de sleutels die in de configuratieoptie filter_function_parameters zijn opgenomen, vervangen door [FILTERED].
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.filter_function_parameters", []string{"api_token", "secret"})),

		// And other resource attributes
	),
)

filter_request_payload

VeldWaarde
Sleutel resource-attribuutappsignal.config.filter_request_payload
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Dit resource-attribuut stelt u in staat request-payload-data uit te filteren die zijn ingesteld in het span-attribuut appsignal.request.payload. In het onderstaande voorbeeld worden de waarden voor de sleutels die in de configuratieoptie filter_request_payload zijn opgenomen, vervangen door [FILTERED]. Lees meer over het filteren van request-queryparameters.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.filter_request_payload", []string{"password", "cvv"})),

		// And other resource attributes
	),
)

filter_request_query_parameters

VeldWaarde
Sleutel resource-attribuutappsignal.config.filter_request_query_parameters
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Dit resource-attribuut stelt u in staat request-queryparameters uit te filteren die zijn ingesteld in het span-attribuut appsignal.request.query_parameters. In het onderstaande voorbeeld worden de waarden voor de sleutels die in de configuratieoptie filter_request_query_parameters zijn opgenomen, vervangen door [FILTERED]. Lees meer over het filteren van request-queryparameters.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.filter_request_query_parameters", []string{"password", "cvv"})),

		// And other resource attributes
	),
)

filter_request_session_data

VeldWaarde
Sleutel resource-attribuutappsignal.config.filter_request_session_data
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Het resource-attribuut filter_request_session_data stelt u in staat request-sessiegegevens uit te filteren die zijn ingesteld in het span-attribuut appsignal.request.session_data. In het onderstaande voorbeeld worden de waarden voor de sleutels die in de configuratieoptie filter_request_session_data zijn opgenomen, vervangen door [FILTERED]. Lees meer over het filteren van request-sessiegegevens.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.filter_session_data", []string{"password", "cvv"})),

		// And other resource attributes
	),
)

ignore_actions

VeldWaarde
Sleutel resource-attribuutappsignal.config.ignore_actions
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Met deze configuratieoptie kunt u een lijst van acties opgeven die door AppSignal worden genegeerd. Alles wat er gebeurt, inclusief exceptions, wordt niet naar AppSignal verstuurd. Dit kan handig zijn om health check-endpoints of andere acties die u niet wilt monitoren te negeren. Lees meer over acties negeren.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.ignore_actions", []string{"GET /heath_check", "POST /ping"})),

		// And other resource attributes
	),
)

ignore_errors

VeldWaarde
Sleutel resource-attribuutappsignal.config.ignore_errors
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Met deze configuratieoptie kunt u specifieke fouten negeren zodat ze niet aan AppSignal worden gerapporteerd. Dit kan handig zijn om verwachte fouten of fouten die niet opgelost kunnen worden te negeren. Lees meer over fouten negeren.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.ignore_errors", []string{"MyCustomError", "ExpectedError"})),

		// And other resource attributes
	),
)

ignore_logs

VeldWaarde
Sleutel resource-attribuutappsignal.config.ignore_logs
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Lijst van logberichten die worden genegeerd. Elk logbericht dat een van de elementen uit de lijst bevat, wordt niet naar AppSignal verstuurd. Een kleine subset van regex-syntax wordt ondersteund; lees daar meer over in onze gids Logs negeren.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.ignore_logs", []string{"^done$", "Task .* completed successfully"})),

		// And other resource attributes
	),
)

ignore_namespaces

VeldWaarde
Sleutel resource-attribuutappsignal.config.ignore_namespaces
Vereistnee
Typelist(String)
Standaardwaarde[]

Beschrijving

Met deze configuratieoptie kunt u specifieke namespaces negeren zodat ze niet aan AppSignal worden gerapporteerd. Dit kan handig zijn om specifieke delen van uw applicatie van monitoring uit te sluiten. Lees meer over namespaces.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.StringSlice("appsignal.config.ignore_namespaces", []string{"admin", "secret"})),

		// And other resource attributes
	),
)

request_headers

VeldWaarde
Sleutel resource-attribuutappsignal.config.request_headers
Vereistnee
Typelist(String)
Standaardwaarde["accept", "accept-charset", "accept-encoding", "accept-language", "cache-control", "connection", "content-length", "host", "range"]

Beschrijving

Configureer welke requestheaders worden meegenomen wanneer er een request naar een HTTP-server wordt gedaan. Deze optie is een allowlist. Alleen de geconfigureerde headers worden opgenomen. Als de lijst leeg is, worden er geen headers opgenomen. De requestheaders worden gelezen uit de OpenTelemetry-span-attributen http.request.header.<key>, waarbij <key> de genormaliseerde headernaam (kleine letters) is. Stel de waarde van het resource-attribuut expliciet in op een lege array om geen headers in te stellen.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		// Only send these specific headers
		resource.WithAttributes(attribute.StringSlice("appsignal.config.request_headers", []string{"accept", "request_method", "content_length"})),

		// Do not send any headers
		// resource.WithAttributes(attribute.StringSlice("appsignal.config.request_headers", []string{})),

		// And other resource attributes
	),
)

response_headers

VeldWaarde
Sleutel resource-attribuutappsignal.config.response_headers
Vereistnee
Typelist(String)
Standaardwaarde["accept", "accept-charset", "accept-encoding", "accept-language", "cache-control", "connection", "content-length", "host", "range"]

Beschrijving

Configureer welke responseheaders worden meegenomen wanneer er een request door een HTTP-client wordt gedaan. Deze optie is een allowlist. Alleen de geconfigureerde headers worden opgenomen. Als de lijst leeg is, worden er geen headers opgenomen. De responseheaders worden gelezen uit de OpenTelemetry-span-attributen http.response.header.<key>, waarbij <key> de genormaliseerde headernaam (kleine letters) is. Stel de waarde van het resource-attribuut expliciet in op een lege array om geen headers in te stellen.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		// Only send these specific headers
		resource.WithAttributes(attribute.StringSlice("appsignal.config.response_headers", []string{"accept", "request_method", "content_length"})),

		// Do not send any headers
		// resource.WithAttributes(attribute.StringSlice("appsignal.config.response_headers", []string{})),

		// And other resource attributes
	),
)

send_function_parameters

VeldWaarde
Sleutel resource-attribuutappsignal.config.send_function_parameters
Vereistnee
TypeBoolean (true / false)
Standaardwaardetrue

Beschrijving

Configureer of functieparameters in traces moeten worden opgenomen. Als deze op false staat, worden dergelijke gegevens niet naar onze servers verzonden. Deze waarden worden ingesteld met het span-attribuut appsignal.function.parameters.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.Bool("appsignal.config.send_function_parameters", false)),

		// And other resource attributes
	),
)

send_request_payload

VeldWaarde
Sleutel resource-attribuutappsignal.config.send_request_payload
Vereistnee
TypeBoolean (true / false)
Standaardwaardetrue

Beschrijving

Configureer of request-payload-data in traces wordt verzonden. Als deze op false staat, worden dergelijke gegevens niet naar onze servers verzonden. Deze waarden worden ingesteld met het span-attribuut appsignal.request.payload. Lees voor meer informatie over het filteren van request-payloads.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.Bool("appsignal.config.send_request_payload", false)),

		// And other resource attributes
	),
)

send_request_query_parameters

VeldWaarde
Sleutel resource-attribuutappsignal.config.send_request_query_parameters
Vereistnee
TypeBoolean (true / false)
Standaardwaardetrue

Beschrijving

Configureer of request-queryparameters in traces worden opgenomen. Als deze op false staat, worden dergelijke gegevens niet naar onze servers verzonden. Deze waarden worden ingesteld met het span-attribuut appsignal.request.query_parameters. Lees voor meer informatie over het filteren van requestparameters.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.Bool("appsignal.config.send_request_query_parameters", false)),

		// And other resource attributes
	),
)

send_request_session_data

VeldWaarde
Sleutel resource-attribuutappsignal.config.send_request_session_data
Vereistnee
TypeBoolean (true / false)
Standaardwaardetrue

Beschrijving

Configureer of request-sessiegegevens in traces worden verzonden. Als deze op false staat, worden dergelijke gegevens niet naar onze servers verzonden. Deze waarden worden ingesteld met het span-attribuut appsignal.request.session_data. Lees voor meer informatie over het filteren van request-sessiegegevens.
Go
resource, err := sdkresource.Merge(
	sdkresource.Default(),
	sdkresource.NewSchemaless(
		resource.WithAttributes(attribute.Bool("appsignal.config.send_session_data", false)),

		// And other resource attributes
	),
)