This is a follow-up task of #621 that was focused on relational databases.
For other types of dependencies, we need to define the values for following fields:
The specification will likely rely on the tests/agents/json-specs/span_types.json file that defines the types and sub-types for each kind of backend service which appears in the map or dependencies.
The goal of this specification would be to fill the gaps and remove the question marks in this table :
For each row, we will have service.target.type = subtype.
type |
subtype |
destination.service.resource |
service.target.name |
related PR/issue |
db |
cassandra |
casandra, casandra/${cluster} |
${cluster} |
#654 |
db |
cosmosdb |
? |
? |
#661 |
db |
dynamodb |
dynamodb, dynamodb/${cloud.region.name} |
${cloud.region.name} |
#654 |
db |
elasticsearch |
elasticsearch, elasticsearch/${cluster} |
${cluster} |
#654 |
db |
graphql |
? |
? |
|
db |
mongodb |
mongodb, mongodb/${db.instance} |
${db.instance} |
#654 |
db |
memcached |
memcached, ? |
? |
|
db |
redis |
redis, ? |
? |
|
external |
dubbo |
${host}:${port} |
${host}:${port} |
|
external |
grpc |
${host}:${port} |
${host}:${port} |
|
external |
http |
${host}:${port} |
${host}:${port} |
|
external |
ldap |
ldap |
? |
|
messaging |
azurequeue |
azurequeue, azurequeue/${queue.name} |
|
#655 |
messaging |
azureservicebus |
azureservicebus, azureservicebus/${queue.name} (or topic). |
|
#655 |
messaging |
jms |
jms, jms/${queue.name} |
${queue.name} |
#655 |
messaging |
kafka |
kafka, kafka/${queue.name} |
${queue.name} |
#655 |
messaging |
rabbitmq |
rabbitmq, rabbitmq/${queue.name} |
${queue.name} |
#655 |
messaging |
sns |
|
|
#655 |
messaging |
sqs |
|
|
#655 |
storage |
azureblob |
|
|
|
storage |
azurefile |
|
|
|
storage |
azuretable |
|
|
|
storage |
s3 |
|
? |
|
Given there is quite a lot to define, we might split it into smaller issues / PRs.
This is a follow-up task of #621 that was focused on relational databases.
For other types of dependencies, we need to define the values for following fields:
span.destination.service.resource(existing, kept for compatibility)span.service.target.type(introduced in Improve Granularity for SQL Databases #621)span.service.target.name(introduced in Improve Granularity for SQL Databases #621)The specification will likely rely on the tests/agents/json-specs/span_types.json file that defines the types and sub-types for each kind of backend service which appears in the map or dependencies.
The goal of this specification would be to fill the gaps and remove the question marks in this table :
For each row, we will have
service.target.type=subtype.typesubtypedestination.service.resourceservice.target.namedbcassandracasandra,casandra/${cluster}${cluster}dbcosmosdbdbdynamodbdynamodb,dynamodb/${cloud.region.name}${cloud.region.name}dbelasticsearchelasticsearch,elasticsearch/${cluster}${cluster}dbgraphqldbmongodbmongodb,mongodb/${db.instance}${db.instance}dbmemcachedmemcached, ?dbredisredis, ?externaldubbo${host}:${port}${host}:${port}externalgrpc${host}:${port}${host}:${port}externalhttp${host}:${port}${host}:${port}externalldapldapmessagingazurequeueazurequeue,azurequeue/${queue.name}messagingazureservicebusazureservicebus,azureservicebus/${queue.name}(ortopic).messagingjmsjms,jms/${queue.name}${queue.name}messagingkafkakafka,kafka/${queue.name}${queue.name}messagingrabbitmqrabbitmq,rabbitmq/${queue.name}${queue.name}messagingsnsmessagingsqsstorageazureblobstorageazurefilestorageazuretablestorages3Given there is quite a lot to define, we might split it into smaller issues / PRs.