Как я могу отслеживать 100% запросов, выполняемых в моем приложении Spring Boot?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу отслеживать 100% запросов, выполняемых в моем приложении Spring Boot?

Сообщение Anonymous »

У меня есть приложение Spring Boot 3, которое я хочу отслеживать. Я хочу опубликовать его трассировки в сборщике OpenTelemetry, чтобы их можно было позже сохранить и отобразить на экземпляре Grafana.
Поскольку это приложение в настоящее время находится на стадии тестирования, одно из требований состоит в том, что 100 % трассировок публикуется сборщику, чтобы собрать как можно больше информации об обрабатываемых им запросах.
Я создал с нуля совершенно новый проект Spring Boot, который зависит от Spring-Boot. -starter-web и opentelemetry-spring-boot-starter.

Код: Выделить всё


4.0.0

org.springframework.boot
spring-boot-starter-parent
3.4.1
  

io.github.tiagoanleite
spring-boot-opentelemetry
0.0.1-SNAPSHOT
spring-boot-opentelemetry
Demo project for Spring Boot + OpenTelemetry


17





io.opentelemetry.instrumentation
opentelemetry-instrumentation-bom
2.11.0
pom
import






org.springframework.boot
spring-boot-starter-web




org.springframework.boot
spring-boot-starter-actuator





org.springframework.boot
spring-boot-starter-data-jdbc


com.h2database
h2





io.opentelemetry.instrumentation
opentelemetry-spring-boot-starter


io.opentelemetry.contrib
opentelemetry-samplers
1.42.0-alpha





org.springframework.boot
spring-boot-starter-test
test







org.springframework.boot
spring-boot-maven-plugin





Основываясь на документации по трассировке Spring, я также изменил вероятность трассировки на 100 %, добавив свойство Management.tracing.sampling.probability в мой application.yml< /strong>:

Код: Выделить всё

spring:
datasource:
url: "jdbc:h2:mem:db"
management:
endpoints:
web:
exposure:
include: "*"
tracing:
sampling:
probability: 1.0
Чтобы проверить, публикует ли приложение трассировки запросов, я создал простой контроллер REST, который предоставляет конечную точку /hello:

Код: Выделить всё

package io.github.tiagoanleite;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

@GetMapping("/hello")
public String index() {
return "Greetings from Spring Boot!";
}

}
Однако не все запросы, которые я делаю к моему приложению, приводят к отслеживанию. По моему опыту, на каждые 10 запросов GET /hello я получаю 3 или 4 опубликованных трассировки, а не 10, которые я ожидал.
Что мне не хватает? Я впервые работаю с OpenTelemetry, и я не уверен, является ли это запланированным поведением или есть ли какие-либо дополнительные конфигурации, которые мне нужно добавить для достижения моей цели.
PS: Если это помогает, я опубликовал проект, упомянутый в этом вопросе, в своем профиле GitHub.

Подробнее здесь: https://stackoverflow.com/questions/793 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»