Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
aos
GitHub Repository: aos/docker-otel-lgtm
Path: blob/main/examples/java/json-logging-otlp/oats.yaml
401 views
1
# OATS is an acceptance testing framework for OpenTelemetry - https://github.com/grafana/oats/tree/main/yaml
2
kubernetes:
3
dir: k8s
4
app-service: dice
5
app-docker-file: Dockerfile
6
app-docker-context: ..
7
app-docker-tag: dice:1.1-SNAPSHOT
8
app-docker-port: 8080
9
import-images:
10
- grafana/otel-lgtm:latest
11
input:
12
- path: /rolldice
13
expected:
14
logs:
15
- logql: '{service_name="dice"} |~ `.*Anonymous player is rolling the dice:.*`'
16
regexp: 'Anonymous player is rolling the dice: \d+' # uses formatted message
17
- logql: '{service_name="dice"} |~ `.*simulating an error.*`'
18
equals: 'Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.RuntimeException: simulating an error] with root cause'
19
attributes:
20
deployment_environment: staging
21
exception_message: "simulating an error"
22
exception_type: "java.lang.RuntimeException"
23
scope_name: "org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]"
24
service_name: dice
25
service_namespace: shop
26
service_version: 1.1
27
severity_number: 17
28
severity_text: SEVERE
29
exception_stacktrace: "java.lang.RuntimeException: simulating an error\
30
\n\tat com.grafana.example.RollController.index(RollController.java:21)\
31
\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\
32
\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\
33
\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255)\
34
\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188)\
35
\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)\
36
\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926)\
37
\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831)\
38
\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\
39
\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)\
40
\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)\
41
\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)\
42
\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)\
43
\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)\
44
\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)\
45
\n\tat jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)\
46
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)\
47
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
48
\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)\
49
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\
50
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
51
\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\
52
\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\
53
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\
54
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
55
\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\
56
\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\
57
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\
58
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
59
\n\tat org.springframework.web.servlet.v6_0.OpenTelemetryHandlerMappingFilter.doFilter(OpenTelemetryHandlerMappingFilter.java:78)\
60
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\
61
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
62
\n\tat org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)\
63
\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)\
64
\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)\
65
\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)\
66
\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)\
67
\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)\
68
\n\tat org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)\
69
\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)\
70
\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)\
71
\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)\
72
\n\tat org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:731)\
73
\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)\
74
\n\tat org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384)\
75
\n\tat org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)\
76
\n\tat org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905)\
77
\n\tat org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)\
78
\n\tat org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)\
79
\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190)\
80
\n\tat org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)\
81
\n\tat org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)\
82
\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"
83
attribute-regexp:
84
flags: ".*" # from loki
85
detected_level: ".*" # from loki
86
observed_timestamp: ".*" # from loki
87
# thread_name: ".*" # thread name is missing when there is an exception - has nothing to do with stdout logging
88
span_id: ".*"
89
trace_id: ".*"
90
container_id: ".*"
91
host_arch: ".*"
92
host_name: ".*"
93
os_description: ".*"
94
os_type: ".*"
95
process_command_args: ".*"
96
process_executable_path: ".*"
97
process_pid: ".*"
98
process_runtime_description: ".*"
99
process_runtime_name: ".*"
100
process_runtime_version: ".*"
101
service_instance_id: ".*"
102
telemetry_distro_name: ".*"
103
telemetry_distro_version: ".*"
104
telemetry_sdk_language: ".*"
105
telemetry_sdk_name: ".*"
106
telemetry_sdk_version: ".*"
107
108
no-extra-attributes: true
109
110
111