Configure your application to show external services or applications

Wavefront can identify Java AWS services and Java databases in the application map view. You can configure your OpenTracing, OpenTelemetry, or Spring Cloud Sleuth application to identify out-of-the-box external services or applications that your service communicates.

Configure Out-of-the-Box AWS and Database Services

Let’s take a look at span tags, SDKs, and libraries that are required if you want to see the AWS and Java database services on the application map view.

External AWS Services for Java Applications

To make Wavefront identify the AWS services:

  1. Configure your application to use the OpenTracing Java AWS SDK, OpenTelemetry, or Spring Cloud Sleuth.
  2. Configure your application to use one or more AWS services.
  3. Instrument your Java application using the Wavefront OpenTracing Java SDK or the Wavefront Java Tracing Agent.
  4. Prepare to send data to Wavefront using the Wavefront proxy or direct ingestion.

Now, you see the AWS external node on the application map.
Example:

Shows the application map view that has two external AWS services.

Required Span Tags

You will see AWS external services on the application map if the spans have the following tags. The values for the span tags are assigned using the Java AWS SDK.

Span Tag Description
component The value java-aws-sdk is assigned by the SDK.
Example: component=java-aws-sdk
span.kind The value client is assigned by the SDK to indicate that the client (your application or service) is sending a request to an external service.
Example: span.kind=client
peer.service The name of the AWS service that the application or service communicates with is assigned by the SDK.

Example: peer.service=AWSLambda

You can also see the above span tags on the Trace Browser for any span without errors.
Example:

Shows the details of a trace that has the span tags component, span.kind, and peer.service.

External DB Services for Java Applications

To make Wavefront identify the database (DB) services, follow these steps:

  1. Configure your application to use a Java database, such as MySQL, Oracle, or any other database.
  2. Instrument your Java application using the Wavefront OpenTracing Java SDK or the Wavefront Java Tracing Agent.
  3. Prepare to send data to Wavefront using the Wavefront proxy or direct ingestion.

Now, you see the database node on the application map.
Example:

shows the application map with the external services ungrouped. You see the different names you give the database using the db.instance span tag.

Required Span Tags

You will see external database services on the application map if the spans have the following tags. The values for the span tags are assigned using the OpenTracing or OpenTelemetry library.

Span Tag Description
component The value java-jdbc is assigned by the OpenTracing or OpenTelemetry library.
Example: component=java-jdbc
db.type The type of the database that you configure your application, such as MySQL, Oracle, is assigned by the OpenTracing or OpenTelemetry library. The value assigned here determines the component icon you see when you click on the external database service.
Example: db.type=postgresql
A screenshot that shows what you see when click on an external database service on the application map. There is a blue box around the component to highlight it. The components arethe icons shown after DB or the database name.
db.instance The name you give your database is assigned by the OpenTracing or OpenTelemetry library. In the screenshot above, the user created a PostgreSQL database and named it stylingDB. Therefore, the OpenTracing or OpenTelemetry library assigns stylingDB to the db.instance span tag.
Example: db.instance=stylingDB

You can also see the above span tags on the Trace Browser for any span without errors.
Example:

Shows the details of a trace that has the span tags component, db.type, and db.instance.