Class TraceDecisionPredicate

public sealed class TraceDecisionPredicate

Used to determine if an HttpRequest should be traced. This will not override a decision by the trace header.

Inheritance

Object > TraceDecisionPredicate

Namespace

Google.Cloud.Diagnostics.AspNetCore3

Assembly

Google.Cloud.Diagnostics.AspNetCore3.dll

Properties

Default

public static TraceDecisionPredicate Default { get; }

A default TraceDecisionPredicate that only disables tracing health checks.

Property Value
TypeDescription
TraceDecisionPredicate

DoNothing

public static TraceDecisionPredicate DoNothing { get; }

A TraceDecisionPredicate that does not have any effect on trace decisions and does not disable tracing health checks.

Property Value
TypeDescription
TraceDecisionPredicate

Methods

Create(Func<HttpRequest, Nullable<Boolean>>, Boolean)

public static TraceDecisionPredicate Create(Func<HttpRequest, bool?> traceDecisionPredicate, bool ignoreHealthChecks = true)
Parameters
NameDescription
traceDecisionPredicateFunc<HttpRequest, Nullable<Boolean>>

Used to determine if a request should be traced. Takes an HttpRequest. It should return true if the request should be traced, false if the request should not be traced and null if the decision should be left to other sampling mechanisms. Must not be null.

ignoreHealthChecksBoolean

Optional. True if Google App Engine health check requests should not be traced. Defaults to true.

Returns
TypeDescription
TraceDecisionPredicate
Remarks

Ignoring of health checks (ignoreHealthChecks) takes precedence over the predicate (traceDecisionPredicate). If ignoreHealthChecks is true and the request is a health check traceDecisionPredicate will not be called.

ShouldTrace(HttpRequest)

public bool? ShouldTrace(HttpRequest request)

Used to determine if a request should be traced. This will not override a trace header decision.

Parameter
NameDescription
requestHttpRequest

The HTTP request to check.

Returns
TypeDescription
Nullable<Boolean>

True if the request should be traced, false if the request should not be traced and null if the decision should be left to other sampling mechanisms.