Wie kann ich 100 % der in meiner Spring Boot-Anwendung ausgeführten Anforderungen nachverfolgen?Java

Java-Forum
Guest
 Wie kann ich 100 % der in meiner Spring Boot-Anwendung ausgeführten Anforderungen nachverfolgen?

Post by Guest »

Ich habe eine Spring Boot 3-Anwendung, die ich überwachen möchte. Ich möchte seine Spuren in einem OpenTelemetry-Kollektor veröffentlichen, damit sie später auf einer Grafana-Instanz gespeichert und angezeigt werden können.
Da diese Anwendung derzeit getestet wird, ist eine der Anforderungen 100 % der Spuren werden im Collector veröffentlicht, um so viele Informationen wie möglich über die von ihm verarbeiteten Anforderungen zu sammeln.
Ich habe ein brandneues Spring Boot-Projekt von Grund auf erstellt, das auf Spring-Boot basiert -starter-web und opentelemetry-spring-boot-starter.

Code: Select all


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





Basierend auf der Tracing-Dokumentation von Spring habe ich auch die Tracing-Wahrscheinlichkeit auf 100 % geändert, indem ich die Eigenschaft „management.tracing.sampling.probability“ zu meiner application.yml< hinzugefügt habe /strong>:

Code: Select all

spring:
datasource:
url: "jdbc:h2:mem:db"
management:
endpoints:
web:
exposure:
include: "*"
tracing:
sampling:
probability: 1.0
Um zu überprüfen, ob die Anwendung Anforderungsspuren veröffentlicht, habe ich einen einfachen REST-Controller erstellt, der einen /hello-Endpunkt verfügbar macht:

Code: Select all

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!";
}

}
Allerdings führen nicht alle Anfragen, die ich an meine Anwendung stelle, zu einer Ablaufverfolgung. Meiner Erfahrung nach werden für jeweils 10 GET /hello-Anfragen 3 oder 4 Traces veröffentlicht und nicht die 10, die ich erwartet hatte.
Was habe ich übersehen? Ich arbeite zum ersten Mal mit OpenTelemetry und bin mir nicht sicher, ob dies das beabsichtigte Verhalten ist oder ob ich zusätzliche Konfigurationen hinzufügen muss, um mein Ziel zu erreichen.
PS: Wenn Es hilft, ich habe das in dieser Frage erwähnte Projekt auf meinem GitHub-Profil veröffentlicht.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post