Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create MpTelemetry 2.0 Blog #4238

Open
wants to merge 3 commits into
base: prod
Choose a base branch
from

Conversation

yasmin-aumeeruddy
Copy link
Member

For issue #4228

:url-about: /
//Blank line here is necessary before starting the body of the post.

A microservices architecture has many well-known advantages for developers such as scalability, flexibility and improved collaboration. However, having a distributed system is likely to make it harder to find the source of latency or inaccuracy that users may experience. There are multiple ways to increase observability of an application to overcome this problem. For example, by collecting metrics, traces and logs.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A microservices architecture has many well-known advantages for developers such as scalability, flexibility and improved collaboration. However, having a distributed system is likely to make it harder to find the source of latency or inaccuracy that users may experience. There are multiple ways to increase observability of an application to overcome this problem. For example, by collecting metrics, traces and logs.
A microservices architecture has many well-known advantages for developers such as scalability, flexibility and improved collaboration. However, having a distributed system is likely to make it harder to find the source of latency or inaccuracy that users may experience. There are multiple ways to increase observability of an application to overcome this problem (e.g. by collecting metrics, traces and logs).


A microservices architecture has many well-known advantages for developers such as scalability, flexibility and improved collaboration. However, having a distributed system is likely to make it harder to find the source of latency or inaccuracy that users may experience. There are multiple ways to increase observability of an application to overcome this problem. For example, by collecting metrics, traces and logs.

link:https://opentelemetry.io/[OpenTelemetry] is a set of APIs, SDKs, tooling, and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs. link:https://projects.eclipse.org/projects/technology.microprofile/releases/telemetry-2.0[MicroProfile Telemetry 2.0] adopts OpenTelemetry so your MicroProfile applications benefit from both manual and automatic traces and metrics. These can be collectively exported along with runtime and application logs in a standardized way!
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
link:https://opentelemetry.io/[OpenTelemetry] is a set of APIs, SDKs, tooling, and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs. link:https://projects.eclipse.org/projects/technology.microprofile/releases/telemetry-2.0[MicroProfile Telemetry 2.0] adopts OpenTelemetry so your MicroProfile applications benefit from both manual and automatic traces and metrics. These can be collectively exported along with runtime and application logs in a standardized way!
link:https://opentelemetry.io/[OpenTelemetry] contains a set of APIs, SDKs, tooling, and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs. link:https://projects.eclipse.org/projects/technology.microprofile/releases/telemetry-2.0[MicroProfile Telemetry 2.0] adopts OpenTelemetry so your MicroProfile applications benefit from both manual and automatic traces and metrics. These can be collectively exported along with runtime and application logs in a standardized way!


* *Car service*: Allows users to create records of cars, given the make of the car and the id of the person who owns the car.

image::img/blog/car_person_service.png[align="center",Diagram of an application with a Car and Person service.]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image is too large.

* *Traces* and *spans* to track user operations, including both the requests and responses.

== Running the backend exporters

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the prior section, you need to explain why you will need a backend exporter.


== Running the backend exporters

Before running this demo, it is recommended to set up a a backend system to collect the telemetry data from the application. See the link:https://github.com/grafana/docker-otel-lgtm[docker-otel-lgtm] repository and clone the repo:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please explain the popular backend exporter.


git clone https://github.com/yasmin-aumeeruddy/car-person-demo.git

Each service has MpTelemetry 2.0 and Monitor-1.0 enabled in its link:https://github.com/yasmin-aumeeruddy/car-person-demo/blob/main/car/src/main/liberty/config/server.xml#L8[server]:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Each service has MpTelemetry 2.0 and Monitor-1.0 enabled in its link:https://github.com/yasmin-aumeeruddy/car-person-demo/blob/main/car/src/main/liberty/config/server.xml#L8[server]:
Each service has `mpTelemetry-2.0` and `monitor-1.0` enabled in its link:https://github.com/yasmin-aumeeruddy/car-person-demo/blob/main/car/src/main/liberty/config/server.xml#L8[server]:

</featureManager>
----

By default, MicroProfile Telemetry is off. To collect and export telemetry data, enable OpenTelemetry by using the following system property or environment variable:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
By default, MicroProfile Telemetry is off. To collect and export telemetry data, enable OpenTelemetry by using the following system property or environment variable:
Due to performance concerns, MicroProfile Telemetry is disabled by default. To collect and export telemetry data, enable OpenTelemetry by using the following system property or environment variable:

@Inject
Meter meter;

@Inject
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

duplication

[source, sh]
----
cd car \
mvn liberty:run
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
mvn liberty:run
mvn liberty:dev

Copy link
Member

@Emily-Jiang Emily-Jiang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logs were not explained

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants