En savoir plus sur le tracing avec Datadog et la terminologie APM.
L’API de tracing est une API d’Agent plutôt qu’une API de service.
Envoyez vos traces à l’endpoint local http://localhost:8126/v0.3/traces
afin que votre Agent puisse ensuite les transférer à Datadog.
PUT http://localhost:8126/v0.3/tracesNot supported in the EU regionNot supported in the GOV regionNot supported in the US regionNot supported in the US3 region
L’APM de Datadog vous permet de recueillir des métriques de performance en traçant votre code pour identifier les éléments lents ou inefficaces de votre application.
Les données de tracing sont envoyées à l’Agent Datadog via une API HTTP. Nous proposons plusieurs bibliothèques officielles afin de simplifier l’envoi de métriques à l’Agent Datadog. Toutefois, vous pouvez interagir directement avec l’API pour instrumenter les applications qui ne peuvent pas utiliser les bibliothèques ou qui sont écrites dans des langages qui ne possèdent pas encore de bibliothèque de tracing officielle.
Les traces peuvent être envoyées sous forme de tableau de traces :
[ trace1, trace2, trace3 ]
où chaque trace est un tableau de spans :
trace1 = [ span, span2, span3 ]
et où chaque span est un dictionnaire avec un trace_id
, span_id
, resource
, etc.
En savoir plus sur la terminologie de l’APM et du tracing distribué
Remarque : chaque span dans une trace doit utiliser le même trace_id
. Cependant, trace_id
et span_id
doivent avoir des valeurs différentes.
Champ
Type
Description
duration
int64
The duration of the request in nanoseconds.
error
int32
Set this value to 1 to indicate if an error occurred.
If an error occurs, you should pass additional information, such as the error message, type and stack information in the meta property.
meta
object
A set of key-value metadata. Keys and values must be strings.
<any-key>
string
Additional properties for key-value metadata.
metrics
object
A set of key-value metadata. Keys must be strings and values must be 64-bit floating point numbers.
<any-key>
double
Additional properties for key-value metrics.
name
string
The span name. The span name must not be longer than 100 characters.
parent_id
int64
The span integer ID of the parent span.
resource
string
The resource you are tracing. The resource name must not be longer than 5000 characters.
service
string
The service you are tracing. The service name must not be longer than 100 characters.
span_id
int64
The span integer (64-bit unsigned) ID.
start
int64
The start time of the request in nanoseconds from the UNIX epoch.
trace_id
int64
The unique integer (64-bit unsigned) ID of the trace containing this span.
type
enum
The type of request.
Allowed enum values: web,db,cache,custom
[
[
{
"duration": 12345,
"error": "integer",
"meta": {
"<any-key>": "string"
},
"metrics": {
"<any-key>": "number"
},
"name": "span_name",
"parent_id": "integer",
"resource": "/home",
"service": "service_name",
"span_id": 987654321,
"start": 0,
"trace_id": 123456789,
"type": "web"
}
]
]
OK
# Curl command
curl -X PUT "http://localhost:8126/v0.3/traces" \
-H "Content-Type: application/json" \
-d @- << EOF
[
[
{
"duration": 12345,
"name": "span_name",
"resource": "/home",
"service": "service_name",
"span_id": 987654321,
"start": 0,
"trace_id": 123456789
}
]
]
EOF