From 0ff2da85a5009a8891e5849711c75c2876ba0115 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 27 Nov 2024 13:25:00 +0100 Subject: [PATCH 1/2] remove examples, because the upstream spring starter has great spring coverage now --- .github/renovate.json5 | 37 - .github/workflows/acceptance-tests.yml | 15 - .../workflows/reusable-acceptance-tests.yml | 43 - CONTRIBUTING.md | 50 +- custom/build.gradle | 68 -- .../instrumentations/Instrumentations.java | 2 - examples/README.md | 255 ----- examples/doc/jmx.png | Bin 150629 -> 0 bytes examples/doc/logs.png | Bin 185111 -> 0 bytes examples/doc/trace-reactive.png | Bin 140954 -> 0 bytes examples/doc/trace.png | Bin 146883 -> 0 bytes examples/jdbc/README.md | 12 - examples/jdbc/jdbc-dashboard.json | 393 -------- examples/jdbc/oats-non-reactive-template.yaml | 18 - examples/jdbc/oats-reactive-template.yaml | 18 - examples/jdbc/reactive-jdbc-dashboard.json | 386 ------- .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 26 - .../jdbc/spring-boot-non-reactive-2/oats.yaml | 2 - .../jdbc/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/Product.java | 73 -- .../grafana/demo/ProductJpaRepository.java | 10 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - .../src/main/resources/application.properties | 6 - .../src/main/resources/schema.sql | 1 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 28 - .../jdbc/spring-boot-non-reactive-3/oats.yaml | 2 - .../jdbc/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/Product.java | 73 -- .../grafana/demo/ProductJpaRepository.java | 10 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - .../src/main/resources/application.properties | 6 - .../src/main/resources/schema.sql | 1 - .../spring-boot-reactive-2/.tool-versions | 1 - .../jdbc/spring-boot-reactive-2/build.gradle | 30 - .../jdbc/spring-boot-reactive-2/oats.yaml | 2 - examples/jdbc/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../java/com/grafana/demo/JdbcConfig.java | 27 - .../main/java/com/grafana/demo/Product.java | 50 - .../grafana/demo/ProductJpaRepository.java | 10 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../src/main/resources/application.properties | 6 - .../src/main/resources/schema.sql | 1 - .../spring-boot-reactive-3/.tool-versions | 1 - .../jdbc/spring-boot-reactive-3/build.gradle | 32 - .../jdbc/spring-boot-reactive-3/oats.yaml | 2 - examples/jdbc/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../java/com/grafana/demo/JdbcConfig.java | 27 - .../main/java/com/grafana/demo/Product.java | 54 - .../grafana/demo/ProductJpaRepository.java | 10 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../src/main/resources/application.properties | 6 - .../src/main/resources/schema.sql | 1 - examples/jetty/README.md | 7 - examples/jetty/oats-template.yaml | 11 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 29 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../jetty/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 31 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../jetty/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 17 - .../spring-boot-reactive-2/.tool-versions | 1 - .../jetty/spring-boot-reactive-2/build.gradle | 29 - .../jetty/spring-boot-reactive-2/oats.yaml | 2 - examples/jetty/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - .../spring-boot-reactive-3/.tool-versions | 1 - .../jetty/spring-boot-reactive-3/build.gradle | 31 - .../jetty/spring-boot-reactive-3/oats.yaml | 2 - examples/jetty/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - examples/jms/README.md | 7 - examples/jms/activemq.xml | 130 --- examples/jms/docker-compose.yaml | 13 - examples/jms/oats-template.yaml | 15 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 25 - .../jms/spring-boot-non-reactive-2/oats.yaml | 2 - .../jms/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/JmsConfig.java | 39 - .../main/java/com/grafana/demo/Product.java | 41 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 3 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 27 - .../jms/spring-boot-non-reactive-3/oats.yaml | 2 - .../jms/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/JmsConfig.java | 39 - .../main/java/com/grafana/demo/Product.java | 41 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 3 - .../jms/spring-boot-reactive-2/.tool-versions | 1 - .../jms/spring-boot-reactive-2/build.gradle | 25 - examples/jms/spring-boot-reactive-2/oats.yaml | 2 - examples/jms/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../main/java/com/grafana/demo/JmsConfig.java | 39 - .../main/java/com/grafana/demo/Product.java | 41 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 27 - .../src/main/resources/application.yaml | 3 - .../jms/spring-boot-reactive-3/.tool-versions | 1 - .../jms/spring-boot-reactive-3/build.gradle | 27 - examples/jms/spring-boot-reactive-3/oats.yaml | 2 - examples/jms/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../main/java/com/grafana/demo/JmsConfig.java | 39 - .../main/java/com/grafana/demo/Product.java | 41 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 27 - .../src/main/resources/application.yaml | 3 - examples/kafka/README.md | 7 - examples/kafka/docker-compose.yaml | 37 - examples/kafka/kafka/Dockerfile | 28 - examples/kafka/kafka/README.md | 7 - examples/kafka/oats-template.yaml | 19 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 25 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../kafka/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../java/com/grafana/demo/KafkaConfig.java | 20 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 6 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 27 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../kafka/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../java/com/grafana/demo/KafkaConfig.java | 20 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 6 - .../spring-boot-reactive-2/.tool-versions | 1 - .../kafka/spring-boot-reactive-2/build.gradle | 25 - .../kafka/spring-boot-reactive-2/oats.yaml | 2 - examples/kafka/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../java/com/grafana/demo/KafkaConfig.java | 20 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 6 - .../spring-boot-reactive-3/.tool-versions | 1 - .../kafka/spring-boot-reactive-3/build.gradle | 27 - .../kafka/spring-boot-reactive-3/oats.yaml | 2 - examples/kafka/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../java/com/grafana/demo/KafkaConfig.java | 20 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 6 - examples/log4j/README.md | 7 - examples/log4j/oats-template.yaml | 10 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 29 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../log4j/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 31 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../log4j/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - examples/logback/README.md | 7 - examples/logback/oats-template.yaml | 10 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 24 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../logback/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 26 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../logback/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 23 - examples/manual/README.md | 7 - examples/manual/jvm-dashboard-old.json | 678 ------------- examples/manual/jvm-dashboard.json | 954 ------------------ examples/manual/oats-template.yaml | 41 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 26 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../manual/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../java/com/grafana/demo/CartClient.java | 30 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 28 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../manual/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../java/com/grafana/demo/CartClient.java | 30 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - examples/mongodb/README.md | 7 - examples/mongodb/docker-compose.yaml | 11 - examples/mongodb/oats-template.yaml | 13 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 26 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../mongodb/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/Customer.java | 52 - .../grafana/demo/CustomerMongoRepository.java | 13 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../src/main/resources/application.yaml | 4 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 28 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../mongodb/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../main/java/com/grafana/demo/Customer.java | 52 - .../grafana/demo/CustomerMongoRepository.java | 13 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../src/main/resources/application.yaml | 4 - .../spring-boot-reactive-2/.tool-versions | 1 - .../spring-boot-reactive-2/build.gradle | 26 - .../mongodb/spring-boot-reactive-2/oats.yaml | 2 - .../mongodb/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../main/java/com/grafana/demo/Customer.java | 52 - .../grafana/demo/CustomerMongoRepository.java | 13 - .../com/grafana/demo/MongoReactiveConfig.java | 26 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 24 - .../src/main/resources/application.yaml | 4 - .../spring-boot-reactive-3/.tool-versions | 1 - .../spring-boot-reactive-3/build.gradle | 28 - .../mongodb/spring-boot-reactive-3/oats.yaml | 2 - .../mongodb/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../main/java/com/grafana/demo/Customer.java | 52 - .../grafana/demo/CustomerMongoRepository.java | 13 - .../com/grafana/demo/MongoReactiveConfig.java | 26 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 25 - .../src/main/resources/application.yaml | 4 - examples/redis/README.md | 12 - examples/redis/docker-compose.yaml | 20 - examples/redis/oats-template.yaml | 20 - examples/redis/otel-jmx-config.yaml | 19 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 25 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../redis/spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 21 - .../src/main/resources/application.yaml | 3 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 27 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../redis/spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 21 - .../src/main/resources/application.yaml | 4 - .../spring-boot-reactive-2/.tool-versions | 1 - .../redis/spring-boot-reactive-2/build.gradle | 26 - .../redis/spring-boot-reactive-2/oats.yaml | 2 - examples/redis/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../main/java/com/grafana/demo/Coffee.java | 34 - .../java/com/grafana/demo/CoffeeLoader.java | 39 - .../com/grafana/demo/RedisConfiguration.java | 31 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 3 - .../spring-boot-reactive-3/.tool-versions | 1 - .../redis/spring-boot-reactive-3/build.gradle | 28 - .../redis/spring-boot-reactive-3/oats.yaml | 2 - examples/redis/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../main/java/com/grafana/demo/Coffee.java | 34 - .../java/com/grafana/demo/CoffeeLoader.java | 39 - .../com/grafana/demo/RedisConfiguration.java | 31 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 26 - .../src/main/resources/application.yaml | 4 - examples/run-example.sh | 70 -- examples/start-grafana-agent.sh | 13 - examples/undertow/README.md | 7 - examples/undertow/oats-template.yaml | 11 - .../spring-boot-non-reactive-2/.tool-versions | 1 - .../spring-boot-non-reactive-2/build.gradle | 29 - .../spring-boot-non-reactive-2/oats.yaml | 2 - .../spring-boot-non-reactive-2/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - .../spring-boot-non-reactive-3/.tool-versions | 1 - .../spring-boot-non-reactive-3/build.gradle | 31 - .../spring-boot-non-reactive-3/oats.yaml | 2 - .../spring-boot-non-reactive-3/run.sh | 3 - .../settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 17 - .../spring-boot-reactive-2/.tool-versions | 1 - .../spring-boot-reactive-2/build.gradle | 29 - .../undertow/spring-boot-reactive-2/oats.yaml | 2 - .../undertow/spring-boot-reactive-2/run.sh | 3 - .../spring-boot-reactive-2/settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - .../spring-boot-reactive-3/.tool-versions | 1 - .../spring-boot-reactive-3/build.gradle | 31 - .../undertow/spring-boot-reactive-3/oats.yaml | 2 - .../undertow/spring-boot-reactive-3/run.sh | 3 - .../spring-boot-reactive-3/settings.gradle | 1 - .../demo/SpringBootDemoApplication.java | 17 - .../com/grafana/demo/StockController.java | 18 - scripts/run-acceptance-tests.sh | 10 - settings.gradle | 43 - 350 files changed, 1 insertion(+), 7500 deletions(-) delete mode 100644 .github/workflows/acceptance-tests.yml delete mode 100644 .github/workflows/reusable-acceptance-tests.yml delete mode 100644 examples/README.md delete mode 100644 examples/doc/jmx.png delete mode 100644 examples/doc/logs.png delete mode 100644 examples/doc/trace-reactive.png delete mode 100644 examples/doc/trace.png delete mode 100644 examples/jdbc/README.md delete mode 100644 examples/jdbc/jdbc-dashboard.json delete mode 100644 examples/jdbc/oats-non-reactive-template.yaml delete mode 100644 examples/jdbc/oats-reactive-template.yaml delete mode 100644 examples/jdbc/reactive-jdbc-dashboard.json delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/jdbc/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/resources/application.properties delete mode 100644 examples/jdbc/spring-boot-non-reactive-2/src/main/resources/schema.sql delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/jdbc/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/resources/application.properties delete mode 100644 examples/jdbc/spring-boot-non-reactive-3/src/main/resources/schema.sql delete mode 100644 examples/jdbc/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/jdbc/spring-boot-reactive-2/build.gradle delete mode 100644 examples/jdbc/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/jdbc/spring-boot-reactive-2/run.sh delete mode 100644 examples/jdbc/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/JdbcConfig.java delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/resources/application.properties delete mode 100644 examples/jdbc/spring-boot-reactive-2/src/main/resources/schema.sql delete mode 100644 examples/jdbc/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/jdbc/spring-boot-reactive-3/build.gradle delete mode 100644 examples/jdbc/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/jdbc/spring-boot-reactive-3/run.sh delete mode 100644 examples/jdbc/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/JdbcConfig.java delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/resources/application.properties delete mode 100644 examples/jdbc/spring-boot-reactive-3/src/main/resources/schema.sql delete mode 100644 examples/jetty/README.md delete mode 100644 examples/jetty/oats-template.yaml delete mode 100644 examples/jetty/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/jetty/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/jetty/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/jetty/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/jetty/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jetty/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/jetty/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/jetty/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/jetty/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/jetty/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jetty/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/jetty/spring-boot-reactive-2/build.gradle delete mode 100644 examples/jetty/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/jetty/spring-boot-reactive-2/run.sh delete mode 100644 examples/jetty/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jetty/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/jetty/spring-boot-reactive-3/build.gradle delete mode 100644 examples/jetty/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/jetty/spring-boot-reactive-3/run.sh delete mode 100644 examples/jetty/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jms/README.md delete mode 100644 examples/jms/activemq.xml delete mode 100644 examples/jms/docker-compose.yaml delete mode 100644 examples/jms/oats-template.yaml delete mode 100644 examples/jms/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/jms/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/jms/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/jms/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/jms/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java delete mode 100644 examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jms/spring-boot-non-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/jms/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/jms/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/jms/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/jms/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/jms/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java delete mode 100644 examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jms/spring-boot-non-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/jms/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/jms/spring-boot-reactive-2/build.gradle delete mode 100644 examples/jms/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/jms/spring-boot-reactive-2/run.sh delete mode 100644 examples/jms/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java delete mode 100644 examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jms/spring-boot-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/jms/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/jms/spring-boot-reactive-3/build.gradle delete mode 100644 examples/jms/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/jms/spring-boot-reactive-3/run.sh delete mode 100644 examples/jms/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java delete mode 100644 examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java delete mode 100644 examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/jms/spring-boot-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/kafka/README.md delete mode 100644 examples/kafka/docker-compose.yaml delete mode 100644 examples/kafka/kafka/Dockerfile delete mode 100644 examples/kafka/kafka/README.md delete mode 100644 examples/kafka/oats-template.yaml delete mode 100644 examples/kafka/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/kafka/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/kafka/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/kafka/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/kafka/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java delete mode 100644 examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/kafka/spring-boot-non-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/kafka/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/kafka/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/kafka/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/kafka/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/kafka/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java delete mode 100644 examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/kafka/spring-boot-non-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/kafka/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/kafka/spring-boot-reactive-2/build.gradle delete mode 100644 examples/kafka/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/kafka/spring-boot-reactive-2/run.sh delete mode 100644 examples/kafka/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java delete mode 100644 examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/kafka/spring-boot-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/kafka/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/kafka/spring-boot-reactive-3/build.gradle delete mode 100644 examples/kafka/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/kafka/spring-boot-reactive-3/run.sh delete mode 100644 examples/kafka/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java delete mode 100644 examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/kafka/spring-boot-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/log4j/README.md delete mode 100644 examples/log4j/oats-template.yaml delete mode 100644 examples/log4j/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/log4j/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/log4j/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/log4j/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/log4j/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/log4j/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/log4j/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/log4j/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/log4j/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/log4j/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/logback/README.md delete mode 100644 examples/logback/oats-template.yaml delete mode 100644 examples/logback/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/logback/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/logback/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/logback/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/logback/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/logback/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/logback/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/logback/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/logback/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/logback/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/manual/README.md delete mode 100644 examples/manual/jvm-dashboard-old.json delete mode 100644 examples/manual/jvm-dashboard.json delete mode 100644 examples/manual/oats-template.yaml delete mode 100644 examples/manual/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/manual/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/manual/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/manual/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/manual/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CartClient.java delete mode 100644 examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/manual/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/manual/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/manual/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/manual/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/manual/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CartClient.java delete mode 100644 examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/mongodb/README.md delete mode 100644 examples/mongodb/docker-compose.yaml delete mode 100644 examples/mongodb/oats-template.yaml delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/mongodb/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Customer.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/mongodb/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Customer.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/mongodb/spring-boot-non-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/mongodb/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/mongodb/spring-boot-reactive-2/build.gradle delete mode 100644 examples/mongodb/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/mongodb/spring-boot-reactive-2/run.sh delete mode 100644 examples/mongodb/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/Customer.java delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/MongoReactiveConfig.java delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/mongodb/spring-boot-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/mongodb/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/mongodb/spring-boot-reactive-3/build.gradle delete mode 100644 examples/mongodb/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/mongodb/spring-boot-reactive-3/run.sh delete mode 100644 examples/mongodb/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/Customer.java delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/MongoReactiveConfig.java delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/mongodb/spring-boot-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/redis/README.md delete mode 100644 examples/redis/docker-compose.yaml delete mode 100644 examples/redis/oats-template.yaml delete mode 100644 examples/redis/otel-jmx-config.yaml delete mode 100644 examples/redis/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/redis/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/redis/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/redis/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/redis/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/redis/spring-boot-non-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/redis/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/redis/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/redis/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/redis/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/redis/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/redis/spring-boot-non-reactive-3/src/main/resources/application.yaml delete mode 100644 examples/redis/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/redis/spring-boot-reactive-2/build.gradle delete mode 100644 examples/redis/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/redis/spring-boot-reactive-2/run.sh delete mode 100644 examples/redis/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/Coffee.java delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/CoffeeLoader.java delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/RedisConfiguration.java delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/redis/spring-boot-reactive-2/src/main/resources/application.yaml delete mode 100644 examples/redis/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/redis/spring-boot-reactive-3/build.gradle delete mode 100644 examples/redis/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/redis/spring-boot-reactive-3/run.sh delete mode 100644 examples/redis/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/Coffee.java delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/CoffeeLoader.java delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/RedisConfiguration.java delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/redis/spring-boot-reactive-3/src/main/resources/application.yaml delete mode 100755 examples/run-example.sh delete mode 100755 examples/start-grafana-agent.sh delete mode 100644 examples/undertow/README.md delete mode 100644 examples/undertow/oats-template.yaml delete mode 100644 examples/undertow/spring-boot-non-reactive-2/.tool-versions delete mode 100644 examples/undertow/spring-boot-non-reactive-2/build.gradle delete mode 100644 examples/undertow/spring-boot-non-reactive-2/oats.yaml delete mode 100755 examples/undertow/spring-boot-non-reactive-2/run.sh delete mode 100644 examples/undertow/spring-boot-non-reactive-2/settings.gradle delete mode 100644 examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/undertow/spring-boot-non-reactive-3/.tool-versions delete mode 100644 examples/undertow/spring-boot-non-reactive-3/build.gradle delete mode 100644 examples/undertow/spring-boot-non-reactive-3/oats.yaml delete mode 100755 examples/undertow/spring-boot-non-reactive-3/run.sh delete mode 100644 examples/undertow/spring-boot-non-reactive-3/settings.gradle delete mode 100644 examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/undertow/spring-boot-reactive-2/.tool-versions delete mode 100644 examples/undertow/spring-boot-reactive-2/build.gradle delete mode 100644 examples/undertow/spring-boot-reactive-2/oats.yaml delete mode 100755 examples/undertow/spring-boot-reactive-2/run.sh delete mode 100644 examples/undertow/spring-boot-reactive-2/settings.gradle delete mode 100644 examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java delete mode 100644 examples/undertow/spring-boot-reactive-3/.tool-versions delete mode 100644 examples/undertow/spring-boot-reactive-3/build.gradle delete mode 100644 examples/undertow/spring-boot-reactive-3/oats.yaml delete mode 100755 examples/undertow/spring-boot-reactive-3/run.sh delete mode 100644 examples/undertow/spring-boot-reactive-3/settings.gradle delete mode 100644 examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java delete mode 100644 examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java delete mode 100755 scripts/run-acceptance-tests.sh diff --git a/.github/renovate.json5 b/.github/renovate.json5 index b5c67b27..985589ba 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -47,31 +47,6 @@ matchPackageNames: [ "nodejs"], enabled: false }, - { - // keep spring 2 examples - "matchFileNames": [ - "examples/**/build.gradle", - ], - "matchPackagePrefixes": [ - "org.springframework.boot:", - "io.spring.dependency-management", - "redis.clients:" - // spring 2 examples can't use the next major version - ], - "matchUpdateTypes": [ - "major" - ], - "enabled": false - }, - { - "matchFileNames": [ - "examples/**/build.gradle", - ], - "labels": [ - "oats" - ], - "groupName": "examples" - } ], "vulnerabilityAlerts": { "enabled": true, @@ -105,17 +80,5 @@ "# renovate: datasource=(?[a-z-]+?)(?: depName=(?.+?))? packageName=(?.+?)(?: versioning=(?[a-z-]+?))?\\s(?:ENV|ARG) .+?_VERSION=(?.+?)\\s" ] }, - { - "customType": "regex", - "description": "Update release in run-example.sh", - "depNameTemplate": "grafana/grafana-opentelemetry-java", - "datasourceTemplate": "github-releases", - "fileMatch": [ - "^examples/run-example.sh$", - ], - "matchStrings": [ - "RELEASE=(?[^\\s]+)" - ] - } ] } diff --git a/.github/workflows/acceptance-tests.yml b/.github/workflows/acceptance-tests.yml deleted file mode 100644 index 746a3691..00000000 --- a/.github/workflows/acceptance-tests.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Acceptance Tests label trigger - -on: - pull_request: - branches: - - main - types: - - labeled - - opened - - synchronize - - reopened - -jobs: - acceptance-tests: - uses: ./.github/workflows/reusable-acceptance-tests.yml diff --git a/.github/workflows/reusable-acceptance-tests.yml b/.github/workflows/reusable-acceptance-tests.yml deleted file mode 100644 index bbd3d98d..00000000 --- a/.github/workflows/reusable-acceptance-tests.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: Acceptance Tests - -on: - workflow_dispatch: - workflow_call: - -jobs: - acceptance-tests: - # see https://stackoverflow.com/questions/62325286/run-github-actions-when-pull-requests-have-a-specific-label - if: contains(github.event.pull_request.labels.*.name, 'oats') - runs-on: ubuntu-latest - steps: - - name: Check out - uses: actions/checkout@v4 - - name: Check out oats - uses: actions/checkout@v4 - with: - repository: grafana/oats - ref: 7cd5ca42fff009fd67ea986d42c79134ac99ae48 - path: oats - - name: Set up JDK - uses: actions/setup-java@v4 - with: - java-version: 17 - distribution: temurin - cache: "gradle" - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.23' - cache-dependency-path: oats/go.sum - - name: Setup Gradle and run build - uses: gradle/actions/setup-gradle@v4 - - name: Build - run: ./gradlew assemble - - name: Run acceptance tests - run: ./scripts/run-acceptance-tests.sh - - name: upload log file - uses: actions/upload-artifact@v4 - if: failure() - with: - name: docker-compose.log - path: oats/yaml/build/**/output.log diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 120d7568..feb5e47f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,16 +23,6 @@ javaagent.jar as well as our custom extension. - Markdown link checker: `find . -name '*.md' -print0 | xargs -0 -n1 markdown-link-check -c .markdown-link-check.json` (requires [markdown-link-check](https://github.com/tcort/markdown-link-check)) -## Debugging - -If one of the test applications in the "examples" directory fails to produce the right telemetry -(usually detected by the oats test), you can run the application with the javaagent attached to it -by adding the following command line arguments: - -```sh -./run.sh --attachDebugger --debugLogging --debugInstrumentations --includeAllInstrumentations -``` - ## Smoke Tests Smoke tests test the entire javaagent distribution, including the custom extension. To run the smoke tests, @@ -42,39 +32,14 @@ run the following command: SMOKE_TEST_JAVA_VERSION=8 ./gradlew :smoke-tests:test ``` -## Acceptance Tests - -Unlike smoke tests, acceptance tests are only run if the pull request has the "oats" label. - -Acceptance test cases are defined in `oats.yaml` files in the examples directory. The test cases are run by [oats]. -The declarative yaml tests are described in . - -If a test case fails (lets say "examples/jdbc/spring-boot-reactive-2"), follows these steps: - -1. Check out the [oats] repo -2. Go to the oats folder -3. `cd yaml` -4. Install ginkgo: `go install github.com/onsi/ginkgo/v2/ginkgo` -5. `TESTCASE_TIMEOUT=2h TESTCASE_BASE_PATH=/path/to/this/repo/examples ginkgo -v -r -focus 'jdbc-spring-boot-reactive-2'` -6. go to and login with admin/admin - -Use `-focus 'yaml'` to run all acceptance tests. - -Also see [Java specific options](https://github.com/grafana/oats/blob/main/yaml/README.md#java-specific-options) -for additional options. - ### Common problems -First, check the [java specific oats options](https://github.com/grafana/oats/tree/main/yaml#java-specific-options), -which can be used for debugging. - #### Instrumentation not included Check if the test passes with `TESTCASE_INCLUDE_ALL_INSTRUMENTATIONS=true`. If yes, check what the instrumentation scope is, and include this instrumentation in the list of -[tested instrumentations](./README.md#tested-instrumentations). You should also include a test case -for this instrumentation, similar to the other tests in the examples directory. +[tested instrumentations](https://github.com/grafana/grafana-opentelemetry-java/blob/main/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java). Where you can find the instrumentation scope: @@ -85,20 +50,7 @@ Where you can find the instrumentation scope: See [RELEASING](RELEASING.md). -## Debugging GitHub Actions - -GitHub Actions for Acceptance test store the output log files - which can be found in the artifacts section of the -GitHub Actions run. - -- If you need more files, you can change the `path` for `actions/upload-artifact@v3` in acceptance-tests.yml. -- If you want to run a single test only, you can change the ginkgo command in run-acceptance-tests.sh to - e.g. `ginkgo -v -r -focus 'redis-spring-boot-reactive-2'`. - -![oats acceptance tests](./docs/oats-logs.png) - ## Known Issues The tests occasionally fail due to TestContainers not starting in time. Please rerun the build for now, until a new wait strategy can be determined. - -[oats]: https://github.com/grafana/oats diff --git a/custom/build.gradle b/custom/build.gradle index cc3f845e..eec77ed2 100644 --- a/custom/build.gradle +++ b/custom/build.gradle @@ -56,73 +56,5 @@ public class DistributionVersion { } } -//private String[] readmeLines() { -// // scrape the table from https://grafana.com/docs/grafana-cloud/monitor-applications/application-observability/setup/instrument/java/ once published -//// return new File("${projectDir}/../README.md").text.split("\n") -//} -// -//task manageTestedInstrumentationsClass() { -// doLast { -// def instrumentations = readmeLines() -// .dropWhile { !it.startsWith("| ID") } -// .takeWhile { it.startsWith("|") } -// .drop(2) -// .collect { " \"${it.split("\\|")[1].trim()}\"" } -// .join(",\n") -// -// updateGeneratedFile(new File("${projectDir}/src/main/java/com/grafana/extensions/instrumentations", "Instrumentations.java"), """/* -// * Copyright Grafana Labs -// * SPDX-License-Identifier: Apache-2.0 -// */ -// -//package com.grafana.extensions.instrumentations; -// -//// This class is generated from README.md in custom/build.gradle. Do not edit. -// -//import java.util.Arrays; -//import java.util.List; -// -//public class Instrumentations { -// -// public static final List TESTED_INSTRUMENTATIONS = -// Arrays.asList( -//$instrumentations); -//} -//""") -// } -//} -// -//task manageDefaultMetricsClass() { -// doLast { -// def metrics = readmeLines() -// .dropWhile { !it.startsWith("| Metric") } -// .takeWhile { it.startsWith("|") } -// .drop(2) -// .collect { " \"${it.split("\\|")[1].trim()}\"" } -// .join(",\n") -// -// updateGeneratedFile(new File("${projectDir}/src/main/java/com/grafana/extensions/filter", "DefaultMetrics.java"), """/* -// * Copyright Grafana Labs -// * SPDX-License-Identifier: Apache-2.0 -// */ -// -//package com.grafana.extensions.filter; -// -//// This class is generated from README.md in custom/build.gradle. Do not edit. -// -//import java.util.Arrays; -//import java.util.List; -// -//public class DefaultMetrics { -// -// public static final List DEFAULT_METRICS = -// Arrays.asList( -//$metrics); -//} -//""") -// } -//} - -//compileJava.dependsOn(manageVersionClass, manageTestedInstrumentationsClass, manageDefaultMetricsClass) compileJava.dependsOn(manageVersionClass) diff --git a/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java b/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java index 0000e69e..b1782077 100644 --- a/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java +++ b/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java @@ -5,8 +5,6 @@ package com.grafana.extensions.instrumentations; -// This class is generated from README.md in custom/build.gradle. Do not edit. - import java.util.Arrays; import java.util.List; diff --git a/examples/README.md b/examples/README.md deleted file mode 100644 index ca51eb50..00000000 --- a/examples/README.md +++ /dev/null @@ -1,255 +0,0 @@ -# Overview - -The example applications tests various instrumentation libraries. - -The goal is to make it very easy to check if a certain combination of libraries and frameworks is observable -using the [Java Agent](https://github.com/open-telemetry/opentelemetry-java-instrumentation), -e.g. Java 8 with [IBM Message Queue](https://developer.ibm.com/tutorials/mq-jms-application-development-with-spring-boot/). - -## Running the examples - -Each example project is run in the same way - so these instructions apply to all of them. - -## Setup - -### Java - -Use to switch jdk versions - or just look at `.tool-versions` and select the JDK manually -before running any of the examples. - -### Alloy - -- Go to Grafana Home page -- Click on "Connect data" -- search for "OpenTelemetry (OTLP)" -- follow the instructions there - -If you're running on Linux, the script will also start Alloy if it is not running already. - -## Starting the example application - -Use `./run.sh` to start each example application. - -### Debugging the example application - -- Use `./run.sh --attachDebugger` to attach a debugger to - as explained in [debugging](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/contributing/debugging.md). -- Use `./run.sh --debugInstrumentations` to output the instrumentations that are loaded by the java agent. -- Use `./run.sh --debugLogging` to output all telemetry data to the console. -- Use `./run.sh --includeAllInstrumentations` to enable all instrumentations. - -These options can be combined. - -## Results - -### Traces - -Full trace for a request to the Cart Controller: - -![trace](doc/trace.png) - -For a reactive spring application - -![reactive trace](doc/trace-reactive.png) - -Notes: - -- the nesting level in the reactive trace is "too flat" - not investigated why -- the server span "GET /controller" is missing - not investigated why - -#### Web Server span - -Name: GET /cart - -Attributes: - - -
http.method
"GET"
http.response_content_length
29
http.route
"/cart"
http.scheme
"http"
http.status_code
200
http.target
"/cart"
net.host.name
"localhost"
net.host.port
8080
net.protocol.name
"http"
net.protocol.version
"1.1"
net.sock.host.addr
"127.0.0.1"
net.sock.peer.addr
"127.0.0.1"
net.sock.peer.port
57108
otel.library.name
"io.opentelemetry.tomcat-10.0"
otel.library.version
"1.26.0-alpha"
span.kind
"server"
status.code
0
thread.id
56
thread.name
"http-nio-8080-exec-7"
user_agent.original
"curl/7.81.0"
- - -#### Spring Web MVC span - -- Shows the Java method name of the controller - -Name: `CartController.getCart` - -Attributes: - - -
otel.library.name
"io.opentelemetry.spring-webmvc-6.0"
otel.library.version
"1.26.0-alpha"
span.kind
"internal"
status.code
0
thread.id
56
thread.name
"http-nio-8080-exec-7"
- - -#### Kafka client span - -Name: `topic1 send` - -Attributes: - - -
messaging.destination.kind
"topic"
messaging.destination.name
"topic1"
messaging.kafka.client_id
"producer-1"
messaging.kafka.destination.partition
2
messaging.kafka.message.offset
6
messaging.system
"kafka"
otel.library.name
"io.opentelemetry.kafka-clients-0.11"
otel.library.version
"1.26.0-alpha"
span.kind
"producer"
status.code
0
thread.id
56
thread.name
"http-nio-8080-exec-7"
- - -#### RestTemplate client span - -Name: `GET` - -Attributes: - - -
http.method
"GET"
http.response_content_length
4
http.status_code
200
http.url
net.peer.name
"localhost"
net.peer.port
8080
net.protocol.name
"http"
net.protocol.version
"1.1"
otel.library.name
"io.opentelemetry.http-url-connection"
otel.library.version
"1.26.0-alpha"
span.kind
"client"
status.code
0
thread.id
56
thread.name
"http-nio-8080-exec-7"
- - -#### Spring Data MongoDB internal span - -Name: `CustomerMongoRepository.findByFirstName` - -Attributes: - - -
code.function
"findByFirstName"
code.namespace
"com.grafana.springbootdemo.CustomerMongoRepository"
otel.library.name
"io.opentelemetry.spring-data-1.8"
otel.library.version
"1.26.0-alpha"
span.kind
"internal"
status.code
0
thread.id
51
thread.name
"http-nio-8080-exec-2"
- - -#### MongoDB client span - -Name: `find test.customer` - -Attributes: - - -
db.connection_string
"mongodb://localhost:27017"
db.mongodb.collection
"customer"
db.name
"test"
db.operation
"find"
db.statement
{ - "find": "customer", - "filter": { - "firstName": "?" - }, - "limit": "?", - "$db": "?", - "lsid": { - "id": "?" - } -}
db.system
"mongodb"
net.peer.name
"localhost"
net.peer.port
27017
otel.library.name
"io.opentelemetry.mongo-3.1"
otel.library.version
"1.26.0-alpha"
span.kind
"client"
status.code
0
thread.id
51
thread.name
"http-nio-8080-exec-2"
- - -#### Jedis client span - -Name: `SADD` - -Attributes: - - -
db.operation
"SADD"
db.statement
"SADD planets ?"
db.system
"redis"
net.sock.peer.addr
"127.0.0.1"
net.sock.peer.name
"127.0.0.1"
net.sock.peer.port
6379
otel.library.name
"io.opentelemetry.jedis-4.0"
otel.library.version
"1.26.0-alpha"
span.kind
"client"
status.code
0
thread.id
52
thread.name
"http-nio-8080-exec-3"
- - -#### Spring Data JPA internal span - -Name: `ProductJpaRepository.findById` - -Attributes: - - -
code.function
"findById"
code.namespace
"com.grafana.springbootdemo.ProductJpaRepository"
otel.library.name
"io.opentelemetry.spring-data-1.8"
otel.library.version
"1.26.0-alpha"
span.kind
"internal"
status.code
0
thread.id
52
thread.name
"http-nio-8080-exec-3"
- - -#### Hibernate internal span - -Name: `Session.find com.grafana.springbootdemo.Product` - -Attributes: - - -
otel.library.name
"io.opentelemetry.hibernate-6.0"
otel.library.version
"1.26.0-alpha"
span.kind
"internal"
status.code
0
thread.id
52
thread.name
"http-nio-8080-exec-3"
- - -#### JDBC client span - -Name: `SELECT 7a4ae095-d193-45c6-bcb0-baa64fd4241e.product` - -Attributes: - - -
db.connection_string
"h2:mem:"
db.name
"7a4ae095-d193-45c6-bcb0-baa64fd4241e"
db.operation
"SELECT"
db.sql.table
"product"
db.statement
"select p1_0.id,p1_0.name,p1_0.picture_url,p1_0.price from product p1_0 where p1_0.id=?"
db.system
"h2"
db.user
"sa"
otel.library.name
"io.opentelemetry.jdbc"
otel.library.version
"1.26.0-alpha"
span.kind
"client"
status.code
0
thread.id
52
thread.name
"http-nio-8080-exec-3"
- - -#### JMS Trace - -Name: `jms_destination publish` - - -
messaging.destination.kind
"queue"
messaging.destination.name
"jms_destination"
messaging.message.id
"ID:nevla-33549-1686830860119-4:1:1:1:5"
messaging.system
"jms"
otel.library.name
"io.opentelemetry.jms-1.1"
otel.library.version
"1.26.0-alpha"
span.kind
"producer"
status.code
0
thread.id
56
thread.name
"reactor-http-epoll-3"
- - -### Logging - -Using the [Java Log pattern](https://grafana.com/docs/opentelemetry/visualization/loki-data/#common-framework-formats) -is a reasonable default: - - -`2023-06-08 10:51:31.021 -INFO [nevla/main] -- com.grafana.demo.DemoApplication -- Started DemoApplication in 1.161 seconds (process running for 1.526)` - - -![logs](doc/logs.png) - -Log message attributes: - - -
Fields
attributes_thread_id
1
attributes_thread_name
main
body
Tomcat started on port(s): 8080 (http) with context path ''
exporter
OTLP
instance
nevla
instrumentation_scope_name
org.springframework.boot.web.embedded.tomcat.TomcatWebServer
job
demo-app
level
INFO
resources_host_arch
amd64
resources_host_name
nevla
resources_os_description
Linux 5.19.0-42-generic
resources_os_type
linux
resources_process_command_line
/home/foo/.asdf/installs/java/temurin-19.0.2+7/bin/java -XX:TieredStopAtLevel=1 -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant com.grafana.demo.DemoApplication
resources_process_executable_path
/home/foo/.asdf/installs/java/temurin-19.0.2+7/bin/java
resources_process_pid
866314
resources_process_runtime_description
Eclipse Adoptium OpenJDK 64-Bit Server VM 19.0.2+7
resources_process_runtime_name
OpenJDK Runtime Environment
resources_process_runtime_version
19.0.2+7
resources_service_instance_id
nevla
resources_service_name
demo-app
resources_telemetry_sdk_language
java
resources_telemetry_sdk_name
opentelemetry
resources_telemetry_sdk_version
1.25.0
severity
INFO
- - -### Metrics - -#### JVM overview metrics - -Use or the Application Observability app - -#### Web Server metrics - -Use Application Observability app - -or manually: - - -- Duration: `(sum by (instance)(rate(http_server_duration_sum{job=~"$job", instance=~"$instance"}[$__rate_interval]))) / -on (instance) -(sum by (instance)(rate(http_server_duration_count{job=~"$job", instance=~"$instance"}[$__rate_interval]))) -` -- Errors: `(sum by (instance)(rate(http_server_duration_count{job=~"$job", instance=~"$instance", http_status_code="500"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate(http_server_duration_count{job=~"$job", instance=~"$instance"}[$__rate_interval])))` - -- Rate: `sum by (instance) (rate(http_server_duration_count{job=~"$job", instance=~"$instance"}[$__rate_interval]))` - - -#### JDBC / HikariCP - -A very useful set of metrics is the current and max. number of connections to detect a draining connection pool - -- max: `db_client_connections_max{pool_name="HikariPool-1"}` -- current: `db_client_connections_usage{pool_name="HikariPool-1", state="used"}` - -For reactive, `r2dbc_pool_acquired_connections{}` seems like a good metric to monitor pool usage. - -#### Kafka client metrics - -There are [many metrics](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/README.md). -Not sure what the best practice is to get a good overview, maybe error rate: `sum(rate(kafka_producer_record_error_total[$__rate_interval]))` - -#### RestTemplate client - -Same metrics as for [http server](README.md#web-server-metrics), just replace `server` by `client`, -e.g. for rate: `sum by (instance) (rate(http_client_duration_count{}[$__rate_interval]))` - -#### MongoDB client - -`mongodb_driver_pool_size{}` seems like a good metric. -(Note that this is a micrometer metric). - -#### Jedis client - -JMX provides good connection pool metrics (e.g. `NumActive`) - and JMX metrics can be turned into -OpenTelemetry metrics as described -[here](https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/3d0971b318d523022ea66555cb02f2c5e9607bd2/instrumentation/jmx-metrics/javaagent/README.md#configuration-files). - -![jmx console](doc/jmx.png) - -#### JMS Metrics - -- ActiveMQ: not available -- RabbitMQ: should be available in micrometer - not tested diff --git a/examples/doc/jmx.png b/examples/doc/jmx.png deleted file mode 100644 index 86ad2d1e328feca44b0e486dbfb235cb897a3fc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150629 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 diff --git a/examples/doc/logs.png b/examples/doc/logs.png deleted file mode 100644 index 11fb58fe8a34723b69f370bf14e28848adb6e465..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185111 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

@a{ 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 Q1pJY^sc<7pTL0<)0t&skL;wH) diff --git a/examples/doc/trace-reactive.png b/examples/doc/trace-reactive.png deleted file mode 100644 index 887646f6cd905b334cda54725e66f748f7ac9e56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140954 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

95DosRs|_t{2S5?m~5ivHeopqep6{ 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

Vm)z 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 diff --git a/examples/doc/trace.png b/examples/doc/trace.png deleted file mode 100644 index c205ef0dbfd420ee1e95c7dc22ecb44991f75079..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146883 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

#6V74+G%QR&qPIQy1QjtR+pEb$C&2r(whpt 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 z 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

1dc@q2fK+$@5S`awfdFQ%)f(=` z*>b`giK1t>Ad-t!nkKn7T8@+R5*As7H%}&KdN<8^Uo-d$Si4n$D$TL(Ge){C!WfyS zr=~ip&(8pKNjD+U=!_ygHNL#F(B3f66h05`pOqgzM#kpTO?w1pYjFQV=yqsr?d&wy zms>JAIqLfRgJ2^4%HF~9q0!}i^lBghjZ~XnY0nx;W?)#an#f@nxbk6*!XzHr^xuglZ(C~_UvV!`U=cZm|mN6 zhsB;L^RvrKB35K`xPFU~@pVjIp1=QZnsqNN@e~Tp!LCcN$I4_rTpu=r>=R_<89-f- zvgVh9&mY@IM)#8FM&ezA>@+4{{J|0G{W%-}Cao4LVWn%WFAG9hO3C|HV#I!~MZ&hC z0vy)bSy7ac%pzi95<(gD@SHw=k~j%FC>)7UmCj5V6?v+ewqYX^KYouAl9H05pjxwU zmIHbUHLO6BMmkEQl*-KJ)_%g)+Jpv}Z*Yw|S*7~>`z^=WC3T8|UK?t@;ZoV=&OU%o zx>*)!Cy^u;E1Ir@@j^me9HMlI>qa=6d6|M)kiE;?5+^qrS_MW-RwRpxmX>I16lQQ( zkT+!Dvll61uItIH*gMcs)6+M$wsIR(7OZT!7bC|^6cR|OuACPwa}v+liT;2PP!)ZB zZ*Hfn2Ya&EhWhKvUw?e;;Uyl3ue1OyQ%+tvf!yBSR+2&V8`#Z}wyBx?PG74TGUz&x zlH*JrjTmi(N>K36tSvdh^@aNpQz$EtC1+QlbCR>7si7gzu{N2443=}Yw1y-IxWZRr ziW8hu7IEd|BGL=N52m_t&fONWhiy`MLY0`PuBJX__iE`}o1D(>0tD039zzqiA;G~! z3Wxo?2@Otlxx6DaM51QCyn0W?EgMltU%>I8CXOw3w?aqemi*K6atLv>MGVE%TF8su;w*Bwz}IJRV5D z4aw5uQhC%NB(!@ABPOBPIg(?eo6YXi$lfg`JMT+pCtdkA4De|gZFd>fpJUG#wW5q0 zQNQ+_;zsK(;KKsAZ2Q*&iiF9Vn=nSNxOkqi8v`$Q%-4NNs2S9D0%oQpLHMQ{=$BGJtrOKwglnsv)2}#L3g9}c0 z=h8*%)v@t_@w<&zpnx(q)#z4=n^o_D5MYxXLhbL%Bekp#7mchBwn67PL;YIZH^RRK zW~L*QRP|i4i*NvVg%VYFVv80++2a)_K*(n@RH9=Lna8%Vm$Nch-|d&4YZjjUr@-c7 zWhWsa!MMk>%3+BM8x|Nj%{PY7#M`MQQu~m12{x*7RyHu@V8c1IyS*WrEH-!$w!3T@ zrEZ4VA4t_q&y{;nEmdQcQrI;%bPp|YbpLLjdSJ?RAyMiD)A2fj8}O7) zW2~+ctVB`o@9)hF7nU)Y$P~YR@{s8)mGIN?x!nN~?T3r&Pdi}hxTZ1iWZ!Q$tt za^xl+Y)qA=^(Gv4b5NR)X{%^g`RvPAQ_v-~%Llh~VO~<_Jzl`@vKVXrxuv zdUrRnTa;t@-Mx3s>x9B2HAidh7kC822u_Ma=)o#X{_^&-pkxp@#ny545yD zh%ADY_*Ar;`qR@u+w&m~D~IEY?gV#Is;Wa)2xkzNf{_TJ-C@%Jq$9 zbaePOwoyqxJtbxPCD@dv-Ekp;=HrB|Q)qtWY)fD|BNNNk7B2}@p*fcm&g+l&Z#`fk z58iC`3keN_6Yc0%;`NJfo?f1Yrn;Wc%BZRzuhhMwh#Iz4bk%S8F@#6=72F+|yJVoXp{>G-$mo2o8T-V5y1W_(sr=m4Eqgj)~ z!bIk4STwaKJr|f?JUs>H&n;@Gi1Ls-v_0wLr%&p!ax^yVbwkKx z?a4IJp1Be0Zf#2aI%3@M9JC6d{Fy;1Ary2SvU?gmpv;CfIA}3>JMcj0+Acx&XrIeN zr(=_IuBSsZ9HMk5`y|$u@zyXsS9F5=&vEd#|6xAle75D5yOvC(d!oggsRuZV=FHMb zy^p-8XbsGl2(40@!rG8MwV#`xgJE$UihCi@#JhWyou?D;h(s7bp4oAY#c#vQD=MPlL`~SCbJyFcp z|Jx9tWT8Lp!@vIObn1_ofWroOS~55OHqY!IFFnohAAbB_{xb4CST4g2_}ABjFGexP z9}|DMec%x~pHZ}0@+vWk=h46Y$T#wLG>QNA6=-Wdl5;-$w+{xRg?sr#_)lY*=yZ5= z1uuJhd#%_!MI0U--?p88x)!Y^HNpKagV^B@+e_Sq6)Y7H7Sz!pUj`nD^o>~7JFs7o z&dzop6T2S%0Xl~>)$K56QUL+2{q;Uc?w3TYA{olcC3oZ9q+!lMP{c=lN+dV2_ zOfD*yi|0)?_khQF@|>BcXcfRCAANbq_Ikqp&>d=Q5y>Q!Y8cZD>$5;>%~d9I{?tW4 z?pj5{ND;uZr#7bCsjq9eBGU|YLOKN zB`hAU(nhe`oa5{vCoCXurUU)0d35$gZ2=37kAwlj8$VSg-NPpDVVejo_(`PMX*aUpg zJtO$*I;A{gUEY%$MmlB;q_ZV{q=UJ3w2)jsUEj^^>=vb}*M$y1n3>*s0QzcgE-K4U z1F}b}C^q)z?hwKtrDKvDF&Sy!<+&pmP?o(6AkuYptitJA&JA6; zs-Rn)KgsFIP*`L~nC0WYe2LN>$@6OsrZk+LR8R=tO&i~bv7Nc_E^DbG7Y@6fPR}Z; z;zUNzb_{pB*cGB#{n`oo?_lBaenG}?(

$MymKBj*C8gR|1h3&cb=S7CsdA*~Q7AG%(4gWmOq{5i)7Kb7U434!I<@j?u;bv*< zh+4?<6w9*qeYy9=>G!ug>-TMYEA$WE!5u#}e~-MACmW*%?mogwn_aL=hi)Bt3LlM> zZM@Rimnx-q2;C=(wqy4In|)Hn(bbDc7B}Kcb^s(^RqDpv=}zerv|sxG>k5x!AG<&E zrpm7zQMIuSUn3*)&oEHM(_Rb1#pPW&yVWC3iePGRa>27=+H?#T^>A^<;f}=`zGDSS z$WD7OfIoK$jY}K17%a>h>gpmnxp|?IXg{?wIhvjEu{b0sMjX;-m!J$AsR5Y&@VoKbl_|N@;18F4JcNu3>70N@MFNV~CK=oDfGt zZj8D2h}^7%V_Ed|mRzDM#ta0Z*nRhv|z-b_I;Z z0kkg+WK}IKeJjX7$aTG8D0h(I0-8O;H-RugHimqB*Eu%Ec>#t12MIGWpMP~tm+!q` z-1Ma;42(s0fJy=5EG{XWO^z(PwD>y}wX5UHx}b1#b!~B=2wFyF-{9cRN>sNJtCjonpFcyAvp328mpz4ND~jW4Kp}~X zi-SqR6&#guuNg?`UOK_hASM0JjVnLM5U=!F)Xdk11!SzRB3}1u}`PQeGDR{80V|0y>@Q_RJ?~G=bxLCOUn0p*R-_qk#O`xh_9d0Kkzi z?QEn9fV*pOG8#dVE~GfgZm`ON%0^qeRDY-@_R_OwTC=nBD7Udq0u|0JoGP&A=A0wg zJ@^y362*+xtWkhgdCc?#+kgu5QM}4~flkCEOe!lsI(`e;36g7O;<6kt9VEU<*qDy~ z)|dJOHGYBCoZO$&^DnXOP*8t$G(UX78rL|%2}mgtxrWekbaaowvW*9z#}5b!5|fnV znQ8O_HMQuBj^JNs6>$^LP@6kDmmaXQ`+>PRwp$a74O5BTojoy*Y**1yYilXf!qXis5A^pJgBWT{^)`>e!9gVi zA+v3O2@WOu*3Qb3%6|RH=}RJEIIXD2L&c^ovZeEr;PZ1^^IYA!e!ZMsJx$>a`sB)m zt$^jBI^=JHGL0SzTp+|Qb(NTq4<8?G4;+k>Gn2Un1c-lj*t_|x`5E9QPvl7;FXPmv zQBZ%p{GFE8vmKllk6*rw?C$jW&C=f@k?vk%e5FvPy@uOOy2=PxbRo;hLpuDMw4d!c z!4R;7hnMjQ?`<$;r0IyFgWg>rB$ZZvu7SnGcyjU~z3!;o!pcs6?=vJf3PY5Afqek1 z@ThfUV_E;FTLin4gAxZ!ENjV>m6pS(s85~jDRAK7ko}MB==0b3?c7a}QP_U&~-Mf#S zt2?I+;;~P~YFD(D@JdyIzkFp-qXO@t8T4K-@}l${pp;zOKKxsR%(aUPJjll9_Z+93 zhj0vtN=oU^j(1fC*3VviDhMb)wS`=q%#}JwY6iJJ@S-v=A6)4wHX_v@E0wJUq~NAT zauV=)b%TSriUw47H=c##7|#;|0AH%Ek^EV0y!iSXaB%|P)vNb0ReW}SZmO%ga@a^` zB{?pR3&$6*+u|ZEFUQ(9I8SXtYEX}j)@`5O2+nx0D+Z!~OtTUF@s`?LqZ#IZ9Pnm9 z3A-mJvnXC@Q07;KIYG|>htj1v;?b+NeUdpvCF7T?Ts-D$% zb`KYTaiQv92IhGj&OQFff4Y8_V@OS_VcU`u>%?TU&WeUfJa27Vu7Gs?jdeZ`{Qk9; z3$U0=oBO+uA3pShi&$azm0M^9MG65yV%7|Em$akvny92U0tV!UivVB?mtO4wLa04VOioU4 zc8$pkmaSQhd+Fx(?&M+WZGL`%ON@5=$WYlSE=^n@ENMS})Ya94aKJ2TgalSHM9qCn z{pMYQF0Q_uab!d)qqnw~K|xW7i;LR@d(XRu20|A5w0>1Mxk?D{TzO;6{~SuS0wbMw zgKOk7P&X==SmY&VHIXj{MH-+nvi+e9f6I?d`qGx4_22XKOk=MO4i1J1f=AUxFsKY@ zG}BgCOLATnjR{gsv3=T*?6xrI9@ZJJagYTk?sB6BxZ0$pLlwdSasdl0vE^ylamfLG z1*7#ne6JulKVl>~Sl^(>^lRqi=QsTN^(}-V*Lnn?383NFm4yE)z%5Oog@a}o-hqA- z9v=Skd_SATIm$qm#8~T7Dk@N3V962?AOH`&CX;{b3*1qaEV)GB?tpv~%)W50f2@+F z&}T>ffnO+gZ7m}Mh>ettjLX%(f8X`u@hFX3R;b^_99M1aj|Lp)^5o3Y#?DM*`{O51 zda^P}VCXAPdgj}BQJ7sP-7Y8AZzyyv7ZNg?UUs-3HeKC((F2-~^V2IY zWOLJmP6%*gPLw3W!}LuF@Fg4`@n&{YahNaE%_I4cdpN<1nLV0&O%Na{Wy@d@rGIoD z^Ip$n27`dvIh2-Ny|sTWg3;=GLc(JnjtfFb$)GCDQJ~M~+ZQEFY>q=S6 z%3{2LMNuWKL_X|x_3u9l1wFe8v+zRvn{cRT_TmGKXi7^%^ESTZq;z{{FNqI}H;585 z4zNmddv;Gk`VbNZ{qB+M%xKK4EJ`@rJ``mEo+*Q9Y3mKx-rhzdu1d0B2kdC!Cjq=sY3hsOs=~4hs?5+^} z>MYwwET)A+=9t=Wf%(j#`^S610pcq&_N2TR>fQcxYM;len?^h!BZgmuA9>_Hg1);f zN#rR!o)2iAhwTy2=i1kiHF^=%^*%G`WqOK@M^ra4enMgX^Ji&^1p+b^Tiid^l+HDJ zA$xm?gNL2}f!k6cJ|UdRl27J#(_q3TjFTORwX><9FKoBL`UkP4e_!A~5nF{j(b(vUiY6`&cO4Wv^ChBnFzUoZXJAH0 z*M=9k>z_Z5=WYQN3q?4mth9UVw7!ct;5}0PRM7arvjopEZdWz~SP5Y6>km5O_+zUP ze|zDhvQqessnwDj5g1wQMWH1_bvlN@fvLOvS4#`En-gZctG0FG%mjAd3k_dgI4tk9GKE1C;;ilS^@w;XLx6@&(j!(jlEg6?4nFI2AV zzE66(2jx>UgZ@}x$`pJV8K`_B%l4I&l-{`QgKsj1Dt$n|n2n59UNZ78fPnQn)V>YF z!(k5RHe~o-u8{KHZW8aB4`G+`1O`;X3b<_FA@zEZ|A*AcxSo=Tj*GYJty|?=!*9Pj zbuL~hL)@p5cXSbJW^oAR|2*&I)C=!UP4!H2pxD zKmE_I2q??iYiqyur3dYdmu+;_ci%y#+3j!e>dMJQo-o?%6HWz_h5)lu$vzIG=bU1+ zt>=$?ERL*+6dfsX@p?eTry#Z5L`v$j-8tURpFefSO69Ywq?&w4bEFV3PY1$*Tt!LU z@>SHkRHJ9oV(6f5cN8Ucg~7xhk9TjW)jH>zjXQMvt9x1O6GkU1PuDh8XCO7J8AW%OsPgH%7b4J#@##m1d}6x z9qCDltwSAww+Ot70?xJX-j!TPD1m{2H&$eFBA$RK+V1KXbNfn+)d@5gF3!+2j6#{r z)~K>765ggpz>=35)jn%~pIBRszyDGW?_}HKjl}ha@91>vdZQvw@0l)*iXOa+i*-Vs zQLwsBOZyQtBO<9Ssk7@_ZGrr-dVoxP0Q8dy?Z+`{`G`nODE5kV28frA<=wsNnnr#! z7C8t*!naC&PL0_(2b|gIHhG|SG2Q~f$?xANK)1rVFPh#L5F{BmX97r|5|sl0n;$@P z2Uz!0eY7ROey0}}oZ?kg1wVYaji2Ir7YAU2EwgPc8MPEeQ$np$p^V)51F-6C55II@f+e@z?(4 zaI3O%JfiCMcW7KPC9#Z;G4$3$DM}P4#$kwL00adru{{nA4|iK*+u<1cBrBCZY~J>xqm^dU#?pg#m*H=Po%d&g zb}K~eVds}xgD7iz>zzTkh|8k?NLt!r!53ziDnnFg+sU~s{vg8xR@R8EY@vR(64NG6 z>HMS3jg6_PDIsHHbO##;=H$)@yH%6XLL1Ea`Okvk%r4Tj9Hh+5u2fZkJ>r~+B%cXi zaoZf9;FygpO5W<;J!tM|RtC9cf0is}b&*Nc!Vez~mA>zZ0l~rfHl6H9EV{6;kNf1- z4NL$`!2hdrmDihaZbq2hZgs~N*Ndl4n8kuR#(~88%I;(KhoTI@A3spKx>DONJ_w`N zsy+6Sz2@@`f}K63n!IYde)-PMii2JL@*D9s?1+dknziUM{Ik`o66)BR$S$cN1;j253vqN z!0++n(U;P9Y}T0T+-}uE7$4}DmS_-#GB2BiuhPPW18?WA_IA|^$FiLiItci&Tk;9= zBKr&CD}>=lv60bK;C*?U-uD|SD0g>>3B}{fS10F|YKlx2q{5vT9z92n-^{h2`3zB? zoBP|n?d0lOT6~F;0!Dn-L7hr7KZgUk8Cr!*AuMLAZ%}P)_DNVhUBujdd>G0OR(td; z40^%_i*+Dg=o-lOVwROFg)ffo+_3*tn>u+rOTMaOV#2Ph-{kZ;BWB_KQkL-P7+dQi zqI~||%gHGrCd?aCUhwRlCgBbaG4!($tgo#!73x@!+Zas!4sf2`O*U3ql0CNf4bkeb zZjHLJQYE=%LdyFJL|4Z*3Ad~1p++~F?P5PgJ?WPb+AxAatxG8Qh|U6?R#%dN$pb-N zak@6{$Mrq0tfm?5<*G^=OS0`f;0pLg{^0&(Sx>q)P~c7q2dK)*ex$IL8rNwhBc0ZJ z?Z!+%g>O$Yyg4Vn_Hf;|3eBepN@CdDrSn>FmBi*KDw^256{K%D`XZgwXA>m2UpWz<8XEZCKOs9V2X+Lgd9}40N1{=?Gdj9 zc?s32zCERGq{$AO#7`QYgoK4c6%T`dGtP`i!4bmR)8PYF{@8v^sF!CaV@aJA?F%+O zP5TI(--mYyB0g^M`Z<}A;^Nn6(0YBFD8EzZMzhz>5W=(q6n4pXILSyHb{~=pUlDl2 zf11`2RrdZwWB9J|yqq28T&nfYGunuAr|9^<%D91K$@IN>pV9%KRyG_@0^t$gZ@T#x z3$w7X@X}I=1aeBj{5S15a{r8xK#P!{%93`Pca9KdZN%#Q$=lbBdE5$C}cJ zFpIX{kFX#f0^tdA`_=E?(dVf?AqRFxTTXDD`Vp~Pm;dv3tE?v4jw=8Bds_Id=mhFt zWyfEj5CGq{K#SO$u;L{39^C%xN%=d3>I``IfBE_UnaB8_SrnhA51HhT&#_PL|Mh}@ z>ze9GoZz$k`|JKkR^uP<^KUP~YR0q2_GQB9ul4_NS?lq?y*6kTh5y%So+=v1miy-A zUfrE*WQTbL0T}XEVZy{S+O=hyr~m%Chp0bdK$HV&Q_xz0yd<;IZTl^-#6G@1cvoz2 zG1c|d-+|5ps1RNi4IKfG`&oNz7=Lw%fBUFaAK|SdM63RVG#LOg7^H!)SA5IMqseM$ z!XmTQ6XR~=7SCc0)QRR;C}(4FeqE*Fm;(nOg7I&kX-|t*m-{jAe6U zh})nnFc3SR{lb&>A$hUs6h>>%i~7vIv9_=U9&e?l{dNpI)^9*}+#$C1F65*DfyO{# z$;an8kYTVoSQ!e0$Li4$Ie@x~neCCrUoDP_SmxD*2-)iA1aLl;9-`sXX{Rt$PSv?0 z=@=v{V{|6N%sLV^7;+6rh80sU6cp<`y;dGd#nNg&CmSoh-|5yPZWzS%@Gh@anMTd< zVs0NCoTuRwFj;GoWD7_An!ma7%^d^AsVAMP9-~1~!9qw#2+L>EBb0Xe^?m4O0A!1x zkW!T{ee|te)}eNAFa)5<`s(U81C)qys41Aiez^RPoo>QNpLU@8=y?hyuQZ{1VcIOH3(ZJYe8J)Jv%OfM_ zy1MSb7%y6faXI#*L(=iHkrTx3tC?82p*|BX%94lK=+d_AI`q6gM92;JqCFfa0cHXQz3x3)+attmWf&dI~z7HS( zj_k~&L^^E$VE@p_!PpqLbqzJOx3C|)kgoi`y=_cGYXBKFPSBu$wPSL!>q|huYtV&U z`u4qqpXwq_DH+07p>Uc4xYoXsJpeo?P=8(CU*-cHnEq&abBDZ5x8`dkTn295(UF42 z!NG4JEpU!tLIZsXI&^5jV6b=V{F6T3;@txo5^P23>D4ByhkWK6V~UxP!NF*CZWzcg z{D9uq(A)}w0|psvT-(`+_T}*KEd>0y^2A$dtF8lv-+O#NuJYH)aS`WNF=5X9&mWMi z5@6^E!0)vS?`kVvEXdZ@QK7z4o!8~@B6I}bh(>2*vdMx_!QM`yn}fmjb~?(V{HkMD z*v@7Gsi~+9&QTD+l_Ghk(NYQQgs>{5hmMXFxM!zNgI>sI{R6`P;^cNKAF}lz7I(8c zCV(eixv`B(B)#t*4i0pax1-NjF8&R{M*xKXyFd%;d?S9ztd!jVG+U(*ty*O7q<>LW zen$DTC_jTsD7uCtCz>+Hd`0qp@>k)W^H6hZ&Q$F5uZ-5K#R?O!=|SZlFV^`hSIRh%PWUnDYR}}!Vs~=>Z4S;EbV*pCw3>kM;G`FiD%v`Jp0(FDditL`_ zW3b6~5Je|CRuElrd3R`S;};T=prfN4`I7BcT>~3c?r?5HtcTZ?q#BM42x1&vUT1gDbVZ<@fg`k_!QbIqnb0 zF**$MPat%t8i)xPIpcc=_B{Bt@(R|iUDJh?i?(<1-JA0SKbFQbZ;%UJ(UdI%}NVN{C57*G%{F!$Cek%MkSiS;dHQHa5QZ?|ZK#tY5puYlai8AE4f2s$FlpmuvCE=gnfM$sDWINzY^ z{3r|;L{r`+@#S$SSRb(v(5si=+j#M1dvmAvK{|A2E>^OsUY|CdR8}L3ufP9y)p*x? z_a)Rd6B9L*^i<{hgh1@ydyhbt0EEX!S_}H}Bv8>l1<@tQj>8rICItI)f5ivNODNRU z6U$FJUT0)xASt7!&N8qtWN*$)b-N}c+#9Q?{P-~WXf_^m2(Yn#g3ojKc=%$XqL-?} z4Ft)^8NjKt|4CN%4v`%a0tkC;R1a1optSrW{6U_q+E~7e0$2j+#Ojw3_$yUF{eaJNTWNr~Lf30%BWHz@9()yVE z%HbRZVxlFI&u(I*^xSkPEVcfg6)U=@nJp845j`4tQB54o729=V8u4#t58I0$4-Pu| zOskZ+-CmhAChHEBMq-f*`vnBlFD^s_ZM2Q!Rfd$J1_Y)8;=bIW)w~^(W`u#4aDqt; zpr$LTn|9R7k|;DdaowX8#Navtj%X>!hmfVlIhRW62EW9W7{R^%(9kfEthAPt|A6{R zR#f&KB%11M*m+4vsuKlf&$V&(nX@ zty>!E5OM@U|I-3h9Q@26SPrU-lbj&@%U58Lm6feH0hi2HFf`E3##m8Ds_hm{fX0SImD*<~mng^FC6^}`py4&MB zTr4cqLh952?bKKETIockSfnwd!tj9t#_Sdj-2+9n<5X*eE*stEzth&+!XC!KCkzZJ3bnvLV z{aJ(NM<=IEWr8Q#Gq#7r>!}1%CxB|Yt=qK(6hr|P+q8DPjGJ36sfZUur(~$IVa=aD zfeH`n6t+AbG*D6^h_>8W7WmE~aT`h=7uO1qsyA1Q?oluqF+sEbq(2KAmxmCm>+kml zd4KCZ2Adx{SY}(U<(?f#CjnIyM3GVO*`53H@Vrrd^T!6!2IafPQJ|6rE;tqH)~yAa z#&-mIOBKhT8Cocy)%JHaI0sNIoU_=y&AG)nW~oPylBDP5Ks*N8{vX5UvdPZHS+4bg5U9s{@t^qpH*8B72Fxe~Umno2zx}(T{6VLsE|&O;IDA~Y_e}aK zIXJWZiZBHbiH!|rvd(F1gQfSG2gwSbR5AzzT)lWRM{P{kvQv_NDphaL!mUc4UwsWC zh32x@T`)n!IVJO-77pOl6&y(3!_Z<2qDgths`htij6sS znd5a=C|o?!W$JxGQ=<-h`GR^ndWy#;zbw$@m@Hfei^CEMC!gGD#*lDZ`}1GnzQr2; zRjgGfzjnp_UROtXyg2h}o=30GL=ibH&_&SL|T;&ri z!0z7@ue+)EmEUHD0_L!Fhr*hmgtq#%{$zAbh<}Fr#F0qUZL@QXNF=cSO?@ju8KUng zsQVpVo^Yx{LDXEpr~O4E`8w~aVE;5J&WovmD9GlK5HN|Swh1Z?V9KK2?F4j6%E*gthGM}-#bo%0h zB(&E3J10MRj;UY0bCTfJ9g;3d0m(73llXxI7cTibxF;4qWjR=m9_&bnv;H1q)X_S7 zpvjv!*+DcZv#thy?v1(AOnVcRxnZmeGK(TAANE;qo)AC3TdMYCXvf{`jM|az^X_w} z9_ZhGY5x5!VT+#8oJL-pW#(=3@ga?p3(tks>MO77P6ip_>`T59a`2CB$^~b8iM}1W z-c(h2q(AM013Aq#HHeh(G(8c!Zax|q6_pXRwI2}?L9zPmd#2W?Agda8;?Oo#NO17R zqwH;Y?&kwKWNcb;`=ouUpyr@|vF7&qi=HnwEPT(eMCE2(_%Dg-xXky$j$5u*uNN;I z+(}vo!NLM~F7g=n)pUIi={9h)pSDdFLySW zaJNVa!#IjK+vsiiaopCON{th7J`b5pW0VJs<#zbDt|>nP$J!LPO2Oqp`;Tejw+gzF zrJ>XP0uJqeJ|0~Ir@$Pm?V*z$r&k6gIul%x(}-H5fCKT-Hl5o!F7=Bp*|?b9Zq`ua z!}&tKfQE*^#F>GOP#mm>``++N_g}PNX2bvvuAdIeED@__X8s53)k-(D!Rt@I=(L$p zSAVFVU;z_y0a5#a=DWCGK!9Fv%=QBsufGleeh7aG3v;@c`7A#|+4!tm^HdQ_aB$B$ z%5|o{y}9}MV!?t;Jnvy}F&ox0nWA*fK{n{-;(x^4C%lNc1qM+6 zJc8mwuu0c{KTreUPWJb|;6JcWApYv>T>ts}U2tmp{h0Cj@?SX-cK_uKrkDEPPl$Lx zQ*&H4!D+_Wpw)fD_vU}3*f&TZl7GKB_UBBlqJq?Ybnn2g-&%lw{gzgUA^GSonB|=z z5S83R&BAqy^Xg##LIL6fge{TT-u%~Jpzs3%I2z`p^e-*B4c3G=Hhw-o8~m#$SH#)w zG?^_0u~LPDWda> zJP;2h%i zLil5*HxBoI=^7XrDSizRvfS9v@bPz|H}(B}wNHi>an1*%$o;VnsfZ7uX5PypE?f$( zO{ygLG1hu((c*|~i@@!BNhvm;WeppIotJlR8H^Z-8|1I@@bo@SNl9huPL-|y@=Q7F z{zKG)k#?SSzuEL234_%7PHc8}mL~N#U-J3&;4dyady&W!N1~NZs1fV8(Hq^YV{V(a zUkSfb&hMJ#b2K#pS^fdHA-;Bnb&N;Ey>?~$?nGw z4W6QM6NneS!b1WqGOVpN&TH|td z>ouaU2J=p5S76MA)0J=V?g&D5@8tZTb-;YN-9l^Qyf@aS8cx8|ayyZ6nZ5R?b%JvP zKfXVZhA>AFuuLsj>h!FAi;u#r&*Q*l*Mz#90g>#)bQFG}p*LKe(K_ga%5Mh-H~Lgm zxL<8uI^5rRJ~?H8yx-HLXtc|wqh7UNjVYrXI9DV6MIz7QCl^U*$f~ofJ)i3L8(G4) zixz2n&kzUgc1wQseo`o909HLvVsSfGDoGj%8!J_tkB*6yU9_6Kp3(O$)ul8Kl4Qeo zcd37jmz=ocL$cEvUEJt^NsAXDzc(sa_0OG%sYmV${46ZfeByl#)hRXntgE}5MB3Wn z#?`8{x;^#B3X24rD>K<=h={&O7i&Qux%qRK*kL6+GJ3bk2+4I!wRwG7H0F_ui?E)S z%WHEc`Ol6mMaUn$#N+Y|!#X-YHaVcaZ-qQLwGth6@C;|%QF-%yv@HPS%0IJ@aY8~B zDZsnO+NdMRx(4KJ~2EZ3nQ6K zf#=W5#B)WX$0%D^vMbNu0Uh$L!*>Uy>lUZ;&T>7J#Xh9S%VqAspSJdxGj8sYhYpaH z#8dI4|6!m7dd@eVept_iM0dg9AV#-)6FW2|<)s^=VNLfRKFGBhJgX-Jvu|^C8>IYp z%ltl)k}~_RxN2)_UDn6#H#W`R*6Q3;5{3v6-SHz_q}qMZE}0Bnxw90(W?^G<_1d-E zPPEEXvn=*2{5BLg#w;vYqkGS@vyEU6bnGQg~rDdc}Ntd?-sxCs*IRZfuFE2>_lZ zW9l4&E2h-C!G{eQUK(p$r#QwElG=?_9xG@Y`Aa*K=&kCN z7L{xUW@ajnBYAYPHQX`PLh|%W619r%Vhs zx(vV#Xe&Vy%5W2;{4T}Y+B>gaG3Oh0%)UjB^CZyiVJyhlwZ4P4_{94_pHI*0&sGTS zWZv8EfEzZ~VuJ*J`TW~)wtMv((5T=5yH{6j>#X;DWqqgov4zx$Lo&^5|4mb-1Rh-)2gcEkiY&ex>P_@urT#qr3gg4jmXGjO{hW`;$?>}|CRgX z*cEn5F-A+I>`CVbLJweqI*6&8mrFMZ1l(Vrz1)mg+?#|{g-Cq^$~1*i53v&icm_6+6u>=O{2&u3eiyk)~3}4Cak``^1PS5&N+l z<$dUGcm40X#9$9Y2&JBWOGKu|IU=50)@ZkTl$4b83`}}@dbl3Nk>sGi_9yr{{07#N zhVqCFes=cus1Ic;K+*PWebYrfvshOPov!l^>Z&yEcSh2IM<-XyFTjTf#(artGE$hV z=c89~3*3+IhEA`+1a7iBVW_i7=KwJdHlVXL&OqS^+#VPk+U4YgN3)4(d($UZSH0jI zxDAu&D9o)6>bPSuW(Yn-p1N3*1~^z>9~q#kMW)QKN{*EMbe14fj#s3;^qCszr zE#TN6Yq(~cBd*=J5&vP690wc92N{&i;Vjky!f)~nS~@Ent;=ke9_lM`v#4ZEKD>8w z)huhvJ%vs+TkFex0%!1@!rGG9F6}C$D@n3z2kI=K!od-e(?Q1_vVtVd*xz|-KCe&b zaW~+5|LEcqg~f|cORabyx!7oIIeKeJ?2L!!rV%Mj#dOWG&^|txY>hAW@bEC*J>W~# zeVa;waJr|@EHY*Kvqs3y48+kR6?Omvj%4FzaWJCCI1_e@b zWiT^{ss!PB2N!3KwBfUH%GS~_1si?)2v_BsMjK4xmAdS4L5c9`KEZ+5W&68eC?zT1 zQPbYu=OB-8Yabp?ckXWo^Fhj%1VI{&i3A1WmbSL=_40@Ym|DVN!^Cju>$rEBrQ{yh z=uW#cx^;}T2fl;6V8C>K3=L7il>~!1rA{kyAzYAW9~LHb5Vgl=jt2}phv6P6J3MA>-dkyrDUUo z)s|HeXP>GDDL$P3tOhXZ4zOqAkV_;$LgCmPb}Qh^7uL*27CcswkDlT2uJQ>GfSG9X8k0`b#!%W z^A8Uu!SDTPQQ3vyYVys`=O+>;44njTXi><*mAyHC)QTw;BPA#A_@H|O{KlOva6R<_ zv4WfP`j^kx)T(1Nau{1YdWrBAbehHqlFGmbSX33pjhec(#aJzFQBGSziuhNJuOS-) z5W<)uOGWCk6DL{87(hL1JTGIhUN;iq0|u2{A8QpEvw70A$7lE%=a@g~>LT4E*~g=! zt@pPmV-9!_x5lBQ9x61&z0*NE`ZU*yhg59Of4kab;zyHW7_)NT!&?9vRUnaXQ==FI1*5%L09iaf%XzVGb9q%``;k50aIHw#N^}w#t;NLrzs- zU?5VDi3w7IxZn%A#=t|wB!NFI0Icuw%9;s#DJ%qF11BFTN8_K5IvbJ@{5sQgZ0~tQ z#I8gCXV}CmxSi-Z0%(1(Fe#Nti0|d**q;2HoEq@oOm0!#Sm{|{)y$;=3>?Z;oSVAl z^1aOAvWqjQh8mqX_G+ zEy<~=2;+8PLE9G%CFt=_X7NL?c-QGPGR`gXxJ7LsKxYdE5x{qmF^6$@cV}8AQ}dC$ z_bEL)BeHeHZUHQ3OThpDd|G`ov*m1j+X8aYEk8cMss12shy-@K8Q>#PBMl6+fCg3V%Q!iUXy z!cpYWAwIv`6un}q3=(Rg=5Xc>=!_;7=bAs)O9#xtfKwE|?v*NVyM$WShc2KFtX3d7 zJ+=Tn@}U;|a7k2ERUtw14g~c^@i?#2RW%4$&m&w09)nxxYw3F50@Lo8PvZEO%Z`W< zhFlYaMikr@I1uk#U_9*gRgqD#%0=L+IkQD56h$jbZz0{`*zF}ZT$N<$D;cWU)62^; z=4KUgR#Iodorj;=3LI93#t}$3KR0y~`B>OmbSAtL4LR*=ug|eP zZH2_r6H(5jFt^Pp~p>E+I(Fd)`ac9B~Vl2Ugfvpt|f&`UbnR z*K);O^mz8Su)}iYz^mqdK|!KN{xvH?pbMW3k8F7SrK~|@dhBwR_q*Aq6sT;Uc`sh{ z4GKzyy9#W+N!+J@5^F$XF)X0=+S9b90J1VG{d+#*J+G_zn&n?cMF1?0(o3D6cWN&l% z{1E<3B^|Fh0p#EWhUFB`1A8P>P6>Vt1IU`?;Lhqj?ePS{y_M(RF|2WZeEL&KEZco>@K`ebS> z6_&#UgQ_g5*(^N@;r2o_E@Z0xzW$CIj$8myKiUbZCEvKE-Wi`8f` zf(s8NwikLs0U-HVrP%KrVQFirt6sy1Q7=ZwHMlCl?Zrv4D*WULB%VaD#>lTY5j8!& zH<2J%U@ZP(fPr1(9NXgK)h583RyBq4b$)i?lOM&t97#I?%Pw);82fdU{PeR==Ttw_ z9fsszN6q|113;Uyh8yheH7xnHc)ZPdy-Z^;uL9j3Td}d@49(HhlT2n;C-g^$jVW-G z%5zw-nwpwA@nR_H;>vIlBOiHI12XSL6BjJfmiE>LjT0waFbk155OPldRvLX-2d6#k z$DHCHNJq}E@bP>Un{5sUj?@o^S;^ScvU0_OnZmp!h~yH5EyuZ5SHn-Vg@sf{Cy11B z?$?t?-QG|H(@yVD417k>0(t6N`n$m_NW^=-yEEN#@)Bbvxr_TZ#wi zQOOKPM{W*%X>x$Hy!Z8G)LF6vcm?Nik<3dF50+SPZpmw=KHPo52U>R8vaEnYo;q)$xdS@G7>tGz?2I>H zUS=sb7ugT-q2h;SwlJ&;Fv%&q(<=J z^XrpqYaAy{&@1JD`Gc*+rlH=Jg`s4G5H2pi+YAojT>EE3S$VzaVd>MnuLe8{Ga{`~ z1J~R%tGytVc80~;S)g`!zWM*%&BRXykJ~Ts>eHwf;md}iQKd#)T3%$Ev z;~@*PG5)jCWF#(&6zrE-P&?}8w`XIsZ)uisU#n%>bNIe{57~7^NL>hUk{<;Nh!V&# zt8}(SBygx^u>z(ymg*_i0h3vPnO%dW%hN9sgmce9Z0J~K&H=KZBbx)FgmmB;^ zYSO+O!3z9}vWa1=GN?fF_vsch{+388BC-u_TBQe6Kp9$h9Yin?hfV<*`Ak7Y=6qP$`cH z@1gMVbwI<;QF4FqB%JFibT)r(-sWpzZ~X-#CZR|701o$IAO&({5V0^)$h5Jsfi$lC z{}Y%z+Z?8=+Np&_{`ehsZ}O3lfCqIdus(uC=FS<~BYTsngHShi6)aIEG%ED8tv>{yL%xOh?zcBU|Uepf`D&Luw6qGw>d zm}6R=+nV5tpOaho=~ZuY9D%6B##H^w@uJJh%&ON}T57nD)Lc^o8>9|O8NTj* zh695`BsA9HZLpXKFw9oD+8=1Ogt0$x!4MVUtzL!B&EsUYCExK}8%S@Ez@fqg%cj1& zG2J?dHZ8VoAp?{vDI$`ImR4CU-wYRv0?l9^K#hr0Vj~d8v*dP-i7A$3XUG4F=p_%% zFAsB8BLe`yA4hAsk9P>!<6m^)r5~>>-ZBsTB2Lg}K5*a6EUQUC0v{hRp@94q`050# zW+(tz$Kkiy;+Li7W6hDLxpL)^9DB()ja1mxmJbgA!N7rJGVyZW%$r&j`~cjZqvrZB z%_RS%+KdKhXJmG)+m~m(%nlAp3^zpHLb*t(m%gC(7P|fC#(HhxjW66rx2T~IhN<9? zgakQ&27G)LDe4^r8?m;mY^wpFs#zMxFgCi%ldbV^bfMQMqWK1`b3e;|R2 zO)BZ?mW`A>z_euZyBU9Q!@QIKHJZUBI#xK~K5;dGn(womsdmgk@wIE5<_ksgq6cq) zBn8!@dx}gvo=1E<4P9Vj&GwR`Wct_clT?&edklxBpS8<%RfdLLJA8>M&tY<`bY-G+|W>J|K%{9NA z?yf~8;tOkA4*XK@(Eae>a-3OP-cY_h-BIQ+H7Q)k4S7N@IJTF1c_gLUVi1wgW62Bw z@&M zon)z1a9C&8Hc>AgEv>dQeTJ35Z&Bt$<2yNcIA=IQoSOfXM0j!Oh09@Cy|ORQ4IuOX9Q5tF1AJ#O1gvWp=BN)9i5Vm%l@+ zyuN-$E}j5y;(Pt$GW!)7NW6xA8w3;dT+BlQV_>-FkYdg;y*6-R z4AQ8Dd2Q_X4@oDTmB!=|?Ap=UCdWs1iodl0;mzT@c8h4Fx2btPG`)9@-CXwfRDlh> z>%C*T(3>xmKiBGPVkz`gO}MCtL2Mg69vhd{ zFzDS|Ecz(oys?pGAROrDhoIcWk4KLXGhchA4K;^F~LXlaWl4II#cJwZ$%gP^@D& z2Fy~vzI=)H|Jl{`hN?G%(-p}IDX!p%1VrfD-5wMdV>0XmS8v?l5U@OYeiJCjiZxd{ z5x4JAtl*z8(-V!*DBpG)0t-RgR|g8|N!G9B8*$(^1rMb9s4If*lh@^YvjOP3Tyljr zc#X<_6NS>Z?-VslNyT+Uc$(=I*_o5e+PI*8K5mmyKCuHLC! z<>9>L12_BbQA1)=dpjd|#_thE=rpz?yRNSVSpeT!Vce?^2_DEn%WCkIHjZ;dJ2Nb= zyc|wpFzz?KxsCy?z@YuaW34wg`2hJG20LA`SYG@OaJ}usmoNOxL_p00Ynw`zmXX47 zPbLHIjjS2h2EZZ_wBHs*Y10g@u=~ z(hvJiEj@*0G_-pZkps8`MXpTZ_#!PSZ70ImHGO$ApJCHsvb4&*%41nz;#R-*vq93R z)T^=S8}+r_uj3?oo`x-NUYd`Xb3?9?VW=5(k${dAJA zSjFK@1%8lNB6l=cTZm%To&vnWW!(oSjeY`_3#k#RvU2gFbr4*J zB~f6h)!9lTKN}w=Xv-MYuXRWaTqxt)ZosPZtnEK+l)&W-7M_{48s)@Visaz~)3I_&?jvAfY7Fz=ZST#gbNc(9<9t8zO zOB)+{c2RRzKx+S{Nf;oB6+aXO*)&M8)+bMXVo*zlc*HJVpr1z$vPN=vD*^*-)DgX^ z*;6Dd4Z2By2VYOs`%$CMm${CXlWMtxrz=%pwcqg1rr@w1=i+R#ebwQYI!98~G$;cG1$2-z}|eD;w6<#?VfPLpcAJVM3xg3a22q z2x(#bPzgZIZX=A$TEghdKjBa2-6JlpG#$MdeO5zIStg7M*b0`^h@_jbXjfgqV&$%l zt8)G-Up0I>r6YX;eNLbZr!=c+r5Wt|4~o=2u>DgT zo%~BD)+nYL-IWZzfbOZ&D_BpOz4iu;N+dC2)r2$;$QZ~+^$h)TV`pclz_>dmNbDe_ zq{QLbE{|T%X5HSFUp7t&1=Xu74N{L}rl#sEdNn{}l>`2)-uyo3PzNlS?(U1nP7bH2gS;*lR3YB|>k8vr-j_zeW%LbG0AHu$EyI3lK;gwnGx{BogdDab;yMHkC2ei!L4BxXd!gs4y{2#az5}pz|17j-z~4KU@`OFbd_t6ZiFY!3-$;} zvKeGp#^w81LP`KNRrbMEH7`~yBU|cNtE~(<19knwv3UkkxSdH)aJ#z9$f9~mR{)6z zLm`KL)JfD17uD8sHyp8WUCPU8F9?%9;plA3W88HH@`!xNIphwVY|oCG0YjNA75QVT z&&mm4&Q!$)J1igdH21kurUE6%k$z}YzG5}kGxmd38}?RoW&b!D{`MO%3SBeV$65)d zvam|-8q_fY;`KH*L;5w^X&Ol+HBzQpQW*5KUk-GEv%fY-;ZLEMK6V}F7YzGoJb#{F zP*6ut@2$JF*gbZQQz()JWfs-XCedB+v;%o zPnZ12`Y3`GypR;riXI&@%U5el5}=TR*!1v|#cL3!5uvI@D;}^&i}rU^b=Vgl{elr# zT&w151KID7hK6qUi3=bH2*~HAO`e(2*K*ik7<1aR^&+O0dgz1)Bk6OY9aRo#b`Pt! zxb()I-bRZZdMIy9fz4Rh-M8Ksshy3Qvf&0aJQ9w*HSY4@Ye+J`8-`yzfjW4t3Mr3y z$9KG@{Hkw@URd}|zm~gS<-yMJq%+2#E*qde1cWOy%26~#BWj_Zj>K%$p*_>9g&V9-q;A%~6!@!yn-+;D|ONIgG_Y^d1IW{R0On-l1WB2ZT~5 zv`g4{^1R4iQ_Bs$feHf_m|OV{hmiIw%6Zk%MjcjOto9NFcm*$e-++(b&a#NkNdKZ4 zumijMJ=d89u@08!X#~6~D@8c`9RdM}f3vd+VofX0SLpR%y{%t;(Y}|NA$#pC_Wv6Y zitUSyQp0Tmq%&w2yZO~QV4(DdL?G4|2B3@|$t{y`BS2hC_a{wbEvF4ftoRnDIY9OU zv(nTp^r=Y{q<)|?XyVKG1uR4ut6IqOdf(via8HRsW~|T;VC3<=ppkC^gpZ(qU5K^5 zMt)OQ`_0`B(SYP+hHDU^X*+!W>YA(ddJe8gxqa=}SOPS8AVR8`SMWeviSR}MJLN^x zB+ZDm8nEuy%)i|dp{uCWDqeW&uNy-?5Og}66N9PIM|JXW8yi}IO#Li1^-=|;H2B!B zbce!QkdTnVf_WJX^OKU2F3{4x*3M_-=MTFIbcbM}>mwN%`aRl%0`ec#o^(*Nv1(NK zgX;d)!m@vcAK|rmj!RFE@;{zBConN@_~4~FQIi;Z?n}Hk*SVq!_$F&TlN+N1B3X^D z*zW9Pws{iTM<}FEX$9x3r!`pV79Q>npa0)rz{=OGoZR2dYEqM*?8#8~X7HO+EY}hb zbq%_Iwr;S=2Sh2it#>N0%JGGsPi&ApX2r?fIQAMbA*ioG}vuemyMgAw!(~zx3ij}V>Wmlj62=7twY9R>f z%ziyRwE}%gNl8ba)H%1d7Yl0=W^(Kxt^4-0(CgPPilG8js?9!_O%?_%vb5xy)RMU#rVtEA!>)iO#2g{a@OgKb8i=KzV414oN!0Ne8=?a9I}M?SQJ*vn)1aP!cc)aoJyQqmegQyqWVUDi zxiiJ^URKlra!6#Jtw^v?g?XvM$&CM7e-eBlmpuLU(Y?_guh}h9!g;lyW^@}zu_ksCh=LZVP|>p@>BTo zxyH13ppIc)yp6K7v-%8u)xW1(8pk6Hp5R|a*^>efFt05GPxDm*Q4{9y@J|7Y5YS3SWdb5U`tzRCWsqmf<#b$c9w1)VCccCw~39(_m+s_Bi*Xq@*Os#+qi=&)@(w zNdmr|q5Jdq*g+8e5CZv-G|MGNEA#_NWV~Vib7aQFhlC+&_b30(%3#w^@q;J6YRdcXJmkrCjEli!}c1RZm#tP0Dvl3mQ$>1AhmIy0&ev#>5 z<7QnVLSP&|R3%#jx$y;m@M4MQvGcZARP6ZP8GJmG=QHnhS+(;%Oei*hQZKj|Y7!_s zWI-!I0Amsjq)2kEh&iAMIPH(F0})l5EFHNpnxS3=8FmR8o?c#1gd!n!KJ4C_GKVo0>1R#}Di6TbAt7C--KtQ8- zUGaub+IJO7OMEkH`@FxAIw+HXs@xba{XlsC!2{gK*=DBc%9*X;D~4rR2A&OfmOOcT zZ@aA$1Z5Z8X3uIR@Ej=#{l4o_9ejNqJ_!kSdn5`t$);=z3ojdiRlIAShh z;U;fiU+k!UWF^HVjz^?F`KHunWh@pdFPxFlkzYf}q=);&S0S7z_=Xp!{f>;F{feZE zOU1@B^XhFpy>Z7x*z7yYl%?V7xdqeTr&b2lbui&9%2*my(0pe?9;VV#9|kPCZ0s??v^rLm z4~{e6=M&{-zW5|wC~?JyAvPC21FqmFPgpgJz7Mo_UVFO-g8M)kA+U2J39X8ev9P#J zhe2y%FvB`GXJkHF88qjxyx@S`Hym)z2%{$Of!WN^&``9E7c}bN1!zKWCP^*yVVtmS zN=*@zx}Z}P%;-D%zFCK7Ju#u%wHBj%TIaUDHB^LgBUfVhjHR9q%$^)hUwsmOgC!6b zJFsA)am71`mI)SumdT6sjEs}ZGmlz(jiK7J+6jQ)I%>%18VUQUCJ;7M&da|jAo zPIDvsO@cNwG&Kbu9qwbr#;vVwFh6pNn%4|(;tTOH4D=P|nt%Xc0A#v=xc#UDbl=%7 z6~qCcKWEi0^jcTX*c4`F8_A@Tqzq;X2vI;qT3CKT&`Y3C(uH3l_mB6{Ec~M}29VGx3PK`2DF3yC z3;+&;V!=2hEQZI3{q?YYR6%@nGUB#itM32>h5>9+hu3PybVM40_0YcCn`f=JRV7( zN}umG_Yg~~KG-xwR+ZX`^zqlp{od$&`?_77trt)RZgB#B0FG=Xx(8hYb(lmT?eyCX z(tz0!4NZ!pkqbb?o(3_}!*kT%gT&gVP_q^;6~>(Uo%vX)QV=&UK8v4(!owL!7?#8^ zR3#qWAVs?00VOz=m{Tt@nSGx2GGtmxKWSs$-~Sx6?zyFfOdtN&;|ZA2kXN_EFMIC z%o$ybjDk7C5=Ud1W+0;EnF6PK`^WKWz$YaLc^KJ0?nDkv7#{Jm{8t5rrZ&%<9BC-E z=Qzp~gPFXs_h*!l`H2%JhS$;Na&>s}oX{hu$i*XD)vV7dkGJ~YBSIaEK@m*W8!cji zX}R6=>D(EW3#XFw>haDp?SQQ_rKhR<~GaAT4(r zpJZuOHt#agHb6j~QT=FCOOt9zoXhEC1xb%;4*A0k%PNgrFNlYICMY=7`8~miQTF!J zc{9mdEaARgU0ryQ)RdIEFLj@oQzz$gKGQrT6*^BR_#WIF;Qm}{)qZ@9o{=|@jBPpglDdI`!54z;eefBUOib&3!F~T>{m0%#5Od)| zdbpn+lN_jl?j5@Cojx6aOj1zmg6&+veB?z=fOk2y+Ms}KdJ+y~-sTh(q-`E~bh_OP zZ+2q&1k0kOz5NYTpniD1q7Z93OA$6@&u;1x`%3(FLsQR>Q=U^h4PTOzlaIzB{SxBn zqBtTl^`WVQ@wlhjJVvm+f-w<&(%=3!*J!VSRhdkpU^MVdA@SDEi}+xKkGDl^&@pys z+jonVb>?l*+{S{@v0hiV{M1C}=bxq;6*fNSv)C)Rjqz~t-{l!~96cme*fX%L)^Hay zeYaZ}oD}BpONsfiu?pLKp{n*L*`+=QXJ^Pb(1Ef(W~9M~lnKCUgUL60r*;pp1HIKp z8)S0raxR6sp;el?y4S4dE5z@3h-I;}w?dp9*oLSVn<0L!MK^^~bc$U9*)6d4oLzH|h;-giZJ{i$wJ$T5BXc;F5hdsKE} z;!T0Qvz5-MRtwBVeMiMs#6LaOF)=au;ITCL1wzOzZRfhruA|}8 zvEFKsnDqs8Y)Ru4$=OIn=5XNrXyEF9HZVLny^^eL-}C;H&DnL_bP|K1#l@RALP9)) z+pRAd{yD8NSfe3IKD$ePk*paAqq0aN2?(+zniDI|xt*%s&%WRPmCp=om4%&9Q4(27 z-{Z>n@$snw!i{&W3VjX#JS`GLfvVcko<bDXCvUtZ4+^j`ni5a>!4-aVRlvxT=thB`#1mj?5n=a zahw{aO|fY@^U9|5%i0QBTJ7z0cKNOiXsFG{3)j+qy&z*ddV`*8H#|PVt=JAKUMp)4 zT(iH(dpm4CMHcz!(^V0+cv$;V?|rESS4@;I7y;&=>l1Ll=EHfz+md^VALqnT)$YL_ z+~D9_%pk}Zm_||On+$Q6Ahgf{XYrEoU@-p^vt*lfs^o-_%8&@RP`i~OtJy^!*48$H z1$AZ3on}A8*2)f;&f3U8A_KFqhzJY~nZ{S`(D47LIl3k+WXpv_p3O?uFlw+D`xQwZ z8TK*bn|`1F0_15?&`(?sjMxA5;r9M%{3jY3t&p;GGgHoKG?V0aZV+4=7_0Ai?;tC> zjcJp-Pe}8=1hG9k0~2*c>dzN@b)-RHvC@#-(!?)RSXcY=bw!PB? z)s0uWI4F!#?ZAjCdiUKXki3&US@CW|-a@Vv34RapYugR^pHhjYbg=eaNKiml=#`2Y zp*G&el z5JtBh1{(2(`3sF3jw;IuC~v>t+KMH%Igm;wkg)cLj*OnxaL(Q&ZDbU@8b+SS3Lqx>Uh3jC9HaFRW3|@Lk*+v5%$QQ3B z;@^8ug>t<5&O_ojzXo_p^gM?8cHHnG*bpy|Y~R4?kc+)%g;IvnMn5M@9bXmJ7b- zXa^Z@$ryQyN>6#^<&4EO`7@TW^vUlWaNGvAZ>+?}JI+IPBrMF}dYE%ub9c^Fu)0+I zK=$W?&9~v4($cy#RTyv{cRA3s_Ws+U2WxH@#40J}GwyF*HQLTMZf0K4w%wy7?0S-R zw+Pa~!BLwNoEO|CT>Z3FBwsGL5{-iQ`)~hJH*D^T!^(CwpFPDrO!}=DA)NnsYpg>p zQ@FxZ)h?^t%hmrjF=n|Qj*Wx==k35${!?huKi|Wjzj63Q|3Bg(X$2+!M?9prT*&|V z+ZkYsj(8G70qTk!wYV;s;QuqeN%DW>J$6beNO23L+O0g2d7o^%q|!!n z7AO8BhCs~4!%VZB+x|bzi+`AV!5J*6+wP%W-gRT@S5%A@3d4Us&{=!`ia_Ux?wO58 zxw%CtU%b_=y?@f%z2cz}Ea8T)`k#Ztm^9Cwzw=%~7WfW2SK;i^x)&;X5s<@vVL4_F!^iKkf=m{v@m$gN?tOB8fr73y85?VnErNDNcp( zk|Q=2pz{T{hJ0mh)uDG|OUJR=;TW+{Va$fSzrpO{_6u$*L8p??*jR~&hI8WMc8|ud z3fiOQx1t}lYd_+8Kdl9UVO_Po;dFM#?*QfKkV){6OU3;N)_A~mou>;ZF%|>92Kng$ zq1#Y-_1LU^IdUHlJ*naH=BO|`h#dF8+XA(v1`Lm4s;eK_4$K^1@FrtxY;2uM6**{Z zZvV-F-rW9V{@5I(not*qiyZ7IK6_@@fB3=|qI{46l#;JrQGuHl@xR=XF=hNuZ|)k? z@%*u_@vi9|wmv7Cyk*cT6d`TslclD2v079C9JepFx683==DkltKz6HeoFkq4d#Plu z7t<@V^+lPnJ^_MlS@FXJ3;q2%rGO?`kGpzLU-b47c8xQTCZC>kEAN`zu+$r@S}_Ls zbNeK&vyZ5Ah;4@I#L7ytxgtVIr-Syj$@mUW?vvEL$#Qc_QIkjUygYRTeOp47-xaTj z=0rv{cDwA=&li|1ytptP_4CGHp|ub^d$2&4=JjZKaMT6A_-CU@dY7n%g3OCdt}~*z z575g~gD*QMSm^|w^A8u9F$$tCd7odN2ASx;uR8$01M506mB}z_`1%wumoKu4$AWBdW5D<`LlXK1)k(_gu9GeVH!`pq% z%(?g6b6?e~_s3LC%@CUI-}mjk*IIk6c91Owf--l&Z)P61@!NB9e;WQVXe%XywV#>U zMKoT##Wx^PR)-6wmI^N85t5NMKwyp;%fPa^<*Qfq#a&E(K~>dYiN{A7TV2eN@ZjOY zQ$KV@cuo`TOfP3lY#vayq$J-#dAzP7x|$`2ni<|%-gj~q&KCYFCIc>@RV&k}O`^EbPTfU@zJANaJk-aXu2dJ^7_f9G=Jclqbw_n+{(K=Vf`|4&OR#@6Su zkE|uGNDq1{fK@tprk=T$twjmz&yYxX*>hZo0G2~28XKhzrrV)7o>pVM(jgmlsydyz zX9$hGuVk6XT}-Y|Aj-nRQqzzm1Y0t%5cAo~O+uHiTp{S}stc%m;;xW#xA}Lw{$7x4 zb8}lpkG!|In4R6-=-a|69vyXK0iTgiUTD6sxi`!2y2qGUTujvwxaQ=r{TP*2-<)zU z=~mK;fR!X8DkX)*tM0I;rqBB$F&VR5bU!13Ehi`J{YpmhWOSO?<8V=&oZ8etbg)|C z{>|GQ*YX)5gcBlZAf}|TNWkF~mlK1aKq;tf1N{8X!8F^VmaY$t+?&CC)v7G;IFm3p zGgENyjrSIU1o+c0f7he-tviq~s_$68_!h-!)P1^L{24CL84pZUS{r1-cQD}Sd+mGl z@Rz9Y4)6Lz!VYDy>Q>Lx?qRlR@~3GB>DvcCA)?3d3aL5l9ze!mMxKS?z+m(!f3Xer zkPN#_A{8zvRU$X&+37M;rWWJ-rG#oiPI!(|lN;}A@&i0nP zC)p-Xkxm_;i~Tmp$A4xYuGHU-0*;(NJVfZ|>53t8PM~taTP@9eqntpyEKJn1iV^(z z1JZ14X0D*W89`RWK{lHqUNI2!|rK%6mOJA~H;p6S@F8=<#)t1wk=4K+E@L>lt ztVDkfwuv6H9d8;PrSlNc!*khLlA4#pKUypp@ROIkc59X&W)=>X0VOAw+SSuZk3&`KLLk{PK2Sim`Y@(g5=SYG7{{>58QZn-M zU?ft$y_uGXnmB!JdeB;wkkoi&c zkI)O?_~+ZVZ-WYq+r$-`4XfqJ->FMTdV0;y3>gG5F^NW@4cWoL0fb=0cfD63^AKTl zINo5A3D3Ck=zx_eHEjlbn1x(V=R!EnanZgEJm43**^|eG!P|AA`;ljBdg^HeiK_si z@6J37Yp~=Q4wk;uDvHj*)a@sbx? z{^W_fi=x7d>TaX7!9uLS5!P*~-e$7%;xxtmY)n(d;d>RsdHmF1HVLM{t=Y{!xFLe= z&<`03=2SPWmLD5*Kl54za}8R$WkA7}>f@C(l;FXHAGVK1xkDC#g5EQ(S5{OF4Y%%U z=K8NYtlju=7?T+U&@#P1scll}I~I<`;3wR#+|e}^dWO)#-(;HE{p`y^rXtz*dZ_zL ze!iX8UM6b%M^b`VUsV=rdZjn)>aGJsAYYiAZvi`i9dlJy85^6eeS;zCOl=wcTIHDo zlMW>4+`W}jdet9uJB(Wzy;@4+{jaLCwM}+@I!S{aCflx;v~XR*kW=q_a`1Ie_=tRs zUKnYyrMWmtE}eOEX4E8GKu+2-z*`y@ELJ>yB;E=4(Q3yVf=T7w;?$gBA*w|Vo^*O7D^1e7taIC0`);fC)Aljck zba_=**8_+btqL`mEWXrO_6-Bu;6V5%;Mf^SJ$Q>PriyRv#I>KXjSGZp*m(i>|QG~3n_2CG(Ylj{^g4<77 zSJy%z2hzmE_H!t}{1;F4TnH+bu49U6%E^BF8qeDIhHPKY;kvB~+Mf%;CUDu=PL(X#Ic8JU0hBAw4%EwOt<4OIiq&M8Q6 zc%py3Ngh032YmnhNrONqK<~2i(^E%NrTE8WaS!n&mVyvAKPk#{=a(8%dJu{!cNIrc zXz6M*IryUki)~f6ICUz*-dz;OiTD(C1GR`KVf)!f4h0*RLGMZYlELv)HH==JSmuVj#pZzgGUkV7U}z1;!gNE| z`PrGD#>RNBjOMMbqi^)YM5q+RIy=*)XKs6?mi&VL{B-K2ml;|Rar5HruN?|8O-&hoH`` zjE8a}n85K{-_-QumoFD#tOvl+ZaB3hRM_Q2r%#cRxErgq=(C`7f+Hbbv0 zczfH9$Gu|qzS%@npILv7<2q7Q^st*LTOiN4{pD2cGhCLY)G{q~S0YgkjqI58H9+BS z`iPtH`9~`qY+0OvTtY_TOdmA_RmK!cskQ zyCX*A8`rZ4{_bAp0+j>oJ)?@&MoCIvw9JajMn?sqO@_ZKStSha{%-aj(}K%aXc^Lc zUO-Cj?EJDG?yk{lpWwelo1cOyA4Cs+-X-3ZE*at$77S`g)%h(j zH{B*#tNVkBO)O6QM#0?Ct99KD)!0t(_?h>Vy$3WxOy<70?*mAhl3h2`R)^=A^E2-n zY)X%b;vIjSE<8QGb@Kb{JOEHhHnv;ab?6k8FjAVq*w4rsT#__|8UbL{l;OozWMTB< zfs)m7V4`iC%braDOK9Wk0@;ZUNYzkbmGRnZZEL-gENA0DypbRq)$dl~#tm_@c8h;H zpsU|ERqmT#h~E2@xr@*+x+UH>kILE7jqCc+vk0)NG8%7g^U~i_E;6gT$1-;s zJz8^=+6awcP;*Pmfc&Fu3`z)2icD)XmK{zy@JkPPEmei0fM~(BiZd9-g}yu@4<`e< zym_SLlPCBcvK~I*b$HQw<@8Krph0u@EPPb;a5)98Sp-AZK@$A+ke-d@p3&hJ=Yi=e zYk#Khc@@>uvN8P8)3i4dIllc=KYcFF^}DnFRg zM`(+M`DALNYhi#Zn{Np-4nk7IHA z)+vHATP{J-6Wy0Z7KG-eKGSI(CAMf>A=&sc(suIetQViE1)=#^fUy{PaSSM!m=sb5{Mewco1 z{FO}QerjiX=njlhexaen=0bj(K3sO=pJb$QsC{m((xrbPOZDuDb263OtoS-ceVk#; zCmW}&=cf-W=I^Jcr#m_KlR_T>DF`&4wrJH3YFir{z=`8d49qMnVvZwVACil`azk)_ zngRr#)15kViND!Q07MK^$ZS2*7ue1kt<{ki#`=)ib z-OFlgMd#X`eLe9!z=QW2W=$Zu&$Q5D%(!!cGlUs}4(|YGf{OrcY7Btf#J;_Xpft5C zqv2i_K^_Ov)#1WhZzl16K93muvlD(-r|~`N_*XrO8RtU(Bm3=L?FV`yzRztouYd`p z6bjD+jP9Kd8Y18Xm?%x~S{lDZAe!Lo0L^gH!#MJy&&@B=j?&7IkU-N(Ac|S^*w>XT zm1M?^81yjS-$=B~ei8};$@!R=HE6*gV8IvCO7yFqsA3}{BOf|!p9KgTPnCS*-rajS zxk~!4UcC=d)?%RL%r&LrFSrMzcdFjLhGAyuIvK41IhoY+ z(hpfdyx@;YD7FWFE(C08J`@77ig8_5(0jw*AE$69yC|=&qiF5u1vfO@8#_Dw>hbv6 zrEcE4?Q$@zPKp{}W2pfkTl*Rk;f18#gSER_%YvMvH2gP=oew7E3Nt zi9#Az?h{*9qSeFPOHOktE4P0Scr~4v0(r>{?Lh8F8MUbAPUgwK)}MH{u<-h}2xmn* zvMmN9?15=91K!bkRg>5Qi6sM`+Ij-Bk8Nkn&VGRCZ>4UH-Z~FaS#BF$9{V=U^Rk*J zufcQ)J8N0Kxp{ZoZN?sO2o3OUTkf~Sn+!RKMF$m)zv}zQ4x<-hp1f?Ra>f-RE!T$~ zaoayvJ!)KS5qTab_~VC7BYPFGWPW}^zM;|$aAyuGrqn2q1vba_3K5eo}{1m(BLlR9O84!XG~$eFPB6+{)0MpRy6Z zV8RZu622%QA@Ng$^IUXh@UP_8z#GT#-nqR-r;ioGjVRkuMT0vt40!jM^&r`qIVOrH z0^-qu%(u46wzPr;KmL|Ke)1Qsk50q92zKd^H01jdI+M`oHdw{nF%QYot^r~6TR>Cp zvl`>rCbk41rhZLkAGbzwME?`^n1e%%_n)NGJ+``dmlxGEaIbS1_gcaJP@Rvg7L5=& zS&7R%ob)aDtDRIV9tRK4?dpkeT9d`Yr3?%xjF3KL^z|~Fu}qw7Q9TGIlfK*}WJz>% zWL5d$B?a!iZUDUro3hKxzvpj90lJjsxFB4N;dVfMT~2xLbDEc?C?kLyA6fZbi1ryA zt_fsONSqfT?7`oOppJ0EjLBiq#6f)GuO;<b5D=e zNWU(aMvp)Xfg8&tdDMOiJPw`u$r&p&+`Tt_dErcrJ1TTnIXPx9dHZo~0TR#c`PD%vp z3ZliE%)CLXeYR=j3|ybVq$z<*?GgoTQ{n0aJ}wc5F~*6sDeOGp05_NtcJw@tJA7@O zp{(4wbEi5lfyhui=+!vt90Vj@U-d3rX%yc z(`P|J!AF#|J+Gs7S9S0K8k&Af1?>-~o>R;tTan450}{SR0^rx?G4rd-N=njCBFs-o z3MLk?j+uj}JvSLXs#vfU-y=KF-{B9JLiCz;&Ib7v(4q;o5DQu&E_wT=+!5Vt(H7hIOe9NelxmQzyN=zkM%KseitK)Tm!4{#Kxm4m57T3BEkeWREW zN{!d??7#lTeR@S6M?BG^7*NLI@cc*te`BL~6~N^ELG1zEL9sPcKn3P}a7YxUx(L3R z^Vly3mRT4A#J8#s&Gjvtk}uZbp8QYj>Tpw@9ePv(Pt|S=#>HXjRUxv>Yjm`n=;}nm zWV@jX8ZYRij>rD@)7_OZ`K5sT*uIXIyqNixD`t1t*jyifQH2gb4(3Ygh=`s0MY&2G z=oFDnz#qx&%4BC3CaZB(uxAlMeql%GE8xX90%P5-VKM*W{kHQC7sm@otkLJlVi>(e zYe4Yu=E%h?+6em&)0u|22JJ+u-bC%_cPLepe|iJsYi|U;XPgl=2u9Ku42OZzqNls- z%e&fB=jjARH$&5QEChf(I929YSN~KBFhPi*ey^66Br^}J(TW}l3kC$uzkgTmdEvpd zJu%?&_nXR~bN(vv@vww!b{_Tlu)VNTzy2j>conw5p!9xv?>TEyeO63f9)(Q!-5X1- z=j7Nbz|eXa)gWT0Cnp~ph~8aqivY3XVSKJij?1e0UCr{ZZ0ebtgT;!nntQsll$Wjc zCF==fCGo*sBQ%YL1=Qy@tXwn()6*q(EC+8bW(L;U4Y$o~xQ?hI_6|Hx!hw>(e#shd z{wL9AaQv=gDBGC?cGUJUhg^;?2;rk^7;R0jnYEzTZf^Y@pPoKCi3Ob1$=M;j2l?ki z97v-Yz?OBW1j9_|OZGUU@Ju!2w4#nTPIGWrA6cT6aMVchMKO*v1O|S_xw9LFb#wRb z>QoZ{!#8FLAE&d~qIAnVv1}_100`wvxZ{bGd9>Vd^Gk;_4cu z<`?W&ED2kF(M(T$mS#bx?M)oSS{>LtWD*ak8y)@bh^T6d)pPd-C1A4UR(Cq3)BG6D zvzBw&d;Vbk$ax!b7?P9Edftj4{xJ6a`_tpc^CuVS9%eWD#i|7c(w!3#S5)M{L$yDJE67(g?lGzd zK)>J6M%r1~C*|jV{V>D)LB1Hz6C9#}QZqC&6hl6_UgofVU4R*}*nE;`{UT+Th?i)fm9_576`d@9gXP zAk13YGwKO5$EA3NM$0$vnhq3QQu1YnAawoFO;8snalrcS70-g6@p zDa}J!v%}$XV9;d)f<-)KW)ay}Dx_nu$_Y=~!Z$vEN(o+CSTuTeUf{R0dV=b^ z2+k@1u`bt-cXBKAoJ9P(<8s=e?x{&FFoch+7S4hm7r<%YAtBHGou+w9c#C=uZ!+%$ zHaiNo-B*EtV(5yQPwZk4Zw zR%gdbf8^#)cTOb)j5GaJR?x0SkPbO>(jAX;hwCMGptFO-Q`^JgWNV*81OC8;ZlRA+BDF-MvJ8MYd}48iazySt1e@UYZ)z zikx8YLuNhso2tVCUXPoH7vhC+;G_$vB#eO4AC*j_FitEYYsY2uK>C1w&jAtU z`0>CA6urF_h$|la)o)pd|2Zs1ZlutBzlwL_b@zX#MR%5~fDuhjOH02INYDJL`lY+U zJy_d^=^0w6PfwIg8&dn=M*8(*9k63yLf1{4a!LH8-fxr4b$+o@QnrLfqu6ON7kK~| z4P-Fqf%hyhFV36fL6FHJcG#xnPsRUj!;l%i=%MgH_-~rpn^zX;Q9At3mrf2O?(EY;Mj2?ct}%=f}oy}o?q_h zHx~flPf8(Hmz0+O1Du|ESWSodCdavjcl7tKM8}TD@QH)3XcRt9!qD6{^T~+q9NA*a zdsJhd@haiRkDr{Ub2vcD((gA0MbO$%!UnRU!MEMoak(05pj4H!@m54 zuowWkBHX$;u$iUytIs8?t`&OhiB&WuBVIb*zo}yYw|uQ6}Owwp5mrgFo!IlvUTEJR7x(Eq5KQGH++b}|Y}C$8J~+uNIWY^s_8cQw^4 zA}DU5%YZ&dd3IwjDZy7DZNTD3dHlOBCf|#6y-{@%wX{N2MCa*iYHMpJ2OYpU7=d68 z%hLAB%niO+M@U=WIVhxRn{iLC;A+wNOn(rAj#OdZ68HuJqDxufdM0Ofio+!?|w?5$*y?g1X6-_OYh&U*z3 zLtXT}?o|iTppcc35m%8%;Z;ir@Re{9ylD8;Ic)Y7c*ZzZ%0NOfwAhjT=71G2pc=4s z9?-*3fE;92(&@BBEz`C+N-pA8n-(=W*Yz_m4UOIQ#H$`NiuOwQtW%ITB>GYC**-kg zp(#dJQdVNUIjHzkh;#O>#qw5z-UGz$NV<0AS5U0Vmlduq<(I^`U`CFB)rH7)ps(>g zV}r<>o7K0^rO*IRy4}Zs2j*D7*$3nyn7|B$%ZdH^RC&!ZC*lTFV2cOG>FIC0{zyS& zT3BBWKIi~1Qd1jcxBF3`NOe!3-+)ef`9#3|hIUmeFvcGQE*XINsnL2R_HY0Mj_j>Y zfhTU;_)$FRhV>h9hn6(mpVjA3;CN&B$bN6cd4a#sVx4~H&ZXYWdq%Uf_4P3X zlbXNn0p4xssneOb&9QjH$Y>Vy7{T{-8pp@iDtB|@kmdX?7ib*={r#UqsfTSCF4))E z*_~QleFo^mXlmsg;E>JZSR(ulH2TJUVcjZ-f$IU*FF$!aP&{Gk$onatl2T?!#1|=` zkAZ~gr8OBG9PS;`#d-hVzki+QK7*%Bc*qWR;Dd2sQxECNgXqw95c zk=eczHXFkXc;5qV?gq)Y>Zc~}ybo3_N9!9Klp$9Wda{8m)Dq@nV8Be1km^8ck~b{p zCk>7a++(a7;l6N%UdCJ83-oay&~!5;t8f=o30y5?Dc#LW+B`lM?XB2p1Ep-mM2smt$>&qGIMLAop%$Dr(02ks^op5ir z_kNtQ*t`5#+pQ0wCfnBo`oY5i9v;;JY2~$8AF$!;%+Nx(8_`ke$^@)t`6>AU_w8<^ z1rz4EzJc8_E(daM@1)06bqaluQLu{m6U~*@N$Yf!-e` zLPP{PK$R%BD4}#pfr=$HHM})7=2OI-(8GC$0j12XaSWrfw)Q)~jiilK*D1L}rEh6f z4P~AP@IlS$?!E*;wJ2IJEhM_PvO0tXP!_1i{gsfQ?H1LrFt<%K1`l@M&@1^Y<>-Nd z{gLG?j$^bn`P$>NXc9nE&OrfA1GVpJ7k@BfQ{y&qXJR6)teN&J`6r;9^#)0e0&6Hpj5d228FABp_JgA8 z-rld&9pf=uza`^3)v1oMmzfWD$l{x9$ADV#f<_YR#7&?tb{!o288}EGdL6vQmPuux zhq_VZLX}Gc9`l4%7ryqV?sqTR-SJ;zx13NAVGX^txLCB^lCPOjBWCI4q#8C_ZZE*1 z0?#jqWLAxMIhTeg**<=f=^W+Yip|{J(b4ex62FG*^Kc`jC@5e=!cN=8Zr%@p3~QIK zP^vfdZy5Q&#u-jrm(cea`T(P(%%!sbK}Mk%J$H1wtE?739jw6iXwWW0`Lw z4T(PMeGY=m;tZ^*+d{LCK^_eGfnCvl=AQ4~iF(bZE-h!6j*T=4z<1f&ZY}AV(h65; z4B4}psf2|QTK^eHJt`RyI>Yt7H#xo6!+~q|IHj#!t__~VQ$GL)87#IvyiTw_YHWzn z($#&Up%L)}b98hHv=2K?+A@ZF3d(l^0=i5sJ;Ho^PE$}*D_h=Zg7VJX7%&C*IOQdF zoa*zNVjYMY=U^rB&|yH?a$~5r0mrTa(ypYf{T!egm!gT(Bqpy^wu&`D2_7)Iv$EHp zcv~ks9{bZxj`*LTR{c7zDdBkda2mQnQbvBs6C{WXMk>c@XtSz*dNAy1?A(#Yo4s-c z0;L}uqjRWe*$&nrb)(18+4&Koef-!)AE5P*GSbB{E@CG!fUg^hlOYy2Rb^f74<*?$ z+m%WS$LwkJl{d%-N@NsfY^{iY&?5jW&o@3X|LbB$$Dg!(}q!?g6B&e9anqdWzEpNobJZaW}`OYIl^!R6|}`2YqV@P<`J+-LUu zKC12Dc0vGk0Cvb~p%}f$%QSsa%ZW$;a+(+nDi}Q8a1}j#D3!5OSDBrCc0_>TRhk)D z){e{_R@O!}cLBnrZYnlaEcp(}r;myQsjtD|TQn&*F+2N1Esml0>60ro)gt~Bd0dT^ zgNGHinrO=rJ(32wUTGw&BLX=f5rLPZS!CM0A>b2`rVj(ykL=@g?X6H@{Y_Xqio87V z13wOmW>VIXi`&Wq;YhzDSuZJ>2?EiQ;h$RXTM<1*a6rd;?_NV=qo&AdE!hS=bNH1X z)6$GqdJ8YBGCw2!l$zNTc{Aj1?Z8@0hoz#mDkhT8l=+Rcj0|lBDsoA8Jr;rs!?H9- z@+)bFCc3+oaPC?h99_)DrW2I>I!QGTND9~lY0G>gL4QgLohDq~4-{EpN`cw_Ym87C zZr*JNmdJ2sE@Od}txI)j+ph?Gbf?=JW`?@FAm1ZSNdtE(0`l$b_~}6pTH=I$c>n(D zvaEDUU!gy>(7R}nBS|&2G1fki6obk*W9yN*sX=^fEcpY;O3|6U4}XC_N4l^F#gy#G ze)X=VHX;H@7E&5MPn;eP7TC5)&Kor5_3Tg1$ZwmsH!xd)uJMO(g_Fq~>A3rP9Y400 zil5IPv?CB*sYi1&)@66)37`mGhz|iJPK%eAe932%G&m)nm;Q~6Ro z7zG5aU9ZOmPhslCLjDJ@Uy7XGC4#i`9OFJ4UDur}Ko$fP6;amtklyBCSzKdN7qFhb z*~O6q6niY5hX`=@`vW55war6*Sv+sLi`eeoeFX||5P~-W;a{>|>7|)ryxeb2h!x^= zzC>{7I}Hpybbd~6Mya6Bcb~u%o9<`=60 zySbbKDF7)k?JrOgn2eQP!Gp#RXHE^OQrPsLo~1-wqU%LTxr5ioTX3R=UbQp3#`{oO((Uy_t|a$&Kxw=u$kePr(Bkbc0$QD0ww~& z4iNk)ZRM5ApzwUi&cOzyf~MNeh2wV12v|OO>s>;Pf2=C@un_di@aRiXvX4_6&}V2B zb!Y9_YX3_&kjfVDj*OMVRKVlOYMlOYe(r|kL;b7ONiC+DUkv1`kU`u_P{BV z6#gqrW7;U$^_aIfH3Rt6z_t7+_C=`nCwV^kiOF#gsQ*x5rM@s6WZP%^bZqrV?Vkz) z!Z zHb5n>UemGM8~G)qV*iE}0I0``^0U`eZuLW6LF$O?q!~ATOh!_cogzYiKQK@JO2 z-=Oy)$gQg&5jwOb!>NaSeQ6PERQ*>{S#4c+76Nl}IG|}F^+|d2dp_~+W67|6b|ug& zf#BqLUJIw>g5_ZL3O+A*;=xO$*y$km*m8qu>LSh@(A-=W0x=c`yTm3sKwW7Cn{!Kn z?59Qh!U<9G(eKjINVX{Nrg9=wf~qaRucWlyh1gs4#4#1tV2`m-hTtfR0iECv`@dP0 z4@o*Sb4C|`6?D4_+#ydPzrMr-t7>szurb$+VurR_WBvV_i2DDKF$|sLIZo)Sejg%e zs-nDa!_s|4<>Q$%iS_RWpPX@JXKB17>)*9v%v;71^#`Elp7Wip1ZCcXwGw6)<~42 zJJhZ1?XQDjn@9QXZ5XiJ7i>q%EJeh{S?Ag#+TIy))b3u-%KiK@mjWFz4=xB z{`V0IZ_L3VOMs`1jLs|@Ya zw=q?6!{gT!HJ6N>|w&H@sBvJ^{ZLao#&UX{(%o4@F~-R z$c1k&l$3gsQ&Xq+n=b(V5-6Q?1FUSte7*3BY3RKw+|A}Hw@=L)8P)5Q)dWPL`E9Sl zj%}{(p03YnQiC6Q9$;QQl(+skBktmI_wV*Fxpw;et$RZ0@J60y6lmYiN$6Bwu!cbA z%_XW$vQ!aE-&0;VuD?xIR!U0N@T6vm!zVA-mhZCDdqpN+91=a8VdtMcjWQrOcY&;jWqGxA#AHnJw-+(aE;nvBHrChc z&Ww7?kUNDgIZi22f##rm|Hu{uTB35X4ee^YUmUqvBPorai|OgbZm?Y(mX2h*sLsL7 zF;!v`($&+$ygSS-=lva@rmBjP-5aORfTp0~=e?10Btg}!>5uYaJOZbK4d6@k;a!V1 zdoi%y%icA(F5l*gmf?1&eEXz^l$NGiZ?1J(PK}2Wrrts$nIEM$7L{J`^`HdB^c62c zG+$#&PeSPgA<`F;7l@6rPw;NsNZ`BT@>5N_xtWD;u&C>N)!r6y8kB!xl26IW$v=t{ z-@`t9Q;~5kA7Ds>|8c8D4ZpJoC7_=9R7p*(EV2N8!2*t{dUD?%8PY^VINAl;2EBcYFBf<|9jk8`jkaG}c>eqi zorT4o9@qBj1SJuM2ljhHlNYGcL5gPC<5O&AU-bqnC3!zmdSUtHhX6FY4E`uf|Ak=f zMoN?|t>xW%F@+bJL#BEm_IumYhdUUG4@I_bWZk;iJ*u~_C0Z_)33u7j+l7sV-5luI z^gz@W=d?z1M%C1b_m4DI%F@2`IzKJ&;785WHiJ)YW8z0Voif3ixd4&Lz5*g6?zysy z(~30U)QLXl$8U>|WoY}hdsk#tWd9ReGm-@aceeu>>pu1^Gb~%zpZGwPgZCPNZM+x2 zdrbB~DFuAXSSRl3pnqWsE&JYm)rttbi2)_cmB3Ea~3PPhGTHy#OO1h048qXZWRneNGeK)%^>z202= z&+>9@#QTq`X2@&&x5N4!N2N0U)&gW`p_ka$x8_FHm+C>(SKmZ3&dkq$wP)@p$VjK> zmTH$zT!_TP#C|?U(rAr@!3hC|W3bpc3b%z#-QFHuOk2{tuN1uO+njtYTyqA-%wI^Dh-aeQXzIOQc^z z_{ybJ&LUUYI8?_am(tx2l0}>k_eVs=@lt&;ReQEN;L6)4E!nq?{is^d5B*P$X+ZgD zwqq)sZoqQ%n7|iDJz-Cd7&BH@es!>4+h5?Q+&9%%_Pu@lI5jnu&vsXk;OJ0a-$D); zjV2)7@77ryE7mjL?Cx*=G9MfDQ7J{URN=%ps+Z|9KyYZrXlBLS#7bv=x_vhVeJL)1Vo{=dsDL_di9W3TIxg-mc1 z|LK1hUI-e%-tGTTbubA0=Z1IF|FYqo0}JE(vS#yxr72>6brgU7=6a@U|GA$%2ojzD z@yg)6`45>%P;_nz!G&oL7MDz~_S})+Kezvfeq`VFi}ZgifB)Zp`1JLmA`>xfyVDRl zAPWoOx-kszzw=2KW$HxoU;ekZBK|7;)o7wG!I6!iJCc-=HD6L-0AUmnh0Eq^cx(Ur zn>2kUKwq@`L-nYn1kayd=-v6% zk;N6;M=Qh+D=^I;*flq+b54{zqA@pMjWPj*-0iE-9#RTbVAdmhcMcA3(UcWpF}pueLA;+T zwSERPS66%191~ctb)GNKZ1a}U|6XM!RVI%Lq^IJl4oY8nQ@FZ+(KAMP+;08wG{Dfs z%e)XYLS-5-7dM0a%(s@Zjx2L@NYIPbO;+(4^_Rc7A^9LFsc-(ZxluC+cwUc>eq9gG z63^%o-0YZQ2d1$0DwCLKMO8etZ20qnB?v5D3{{;J*?`Kt#TrkEW-3>~d&sUZqvEHkmX8dBoY1 zD8+O&Bz%L@<3DFRQGl=<;HrCZedtPVy z#=oPX`|W@Z&${d4n~};8$8l^2L47y5A(LVMarT$o+=r#YQw{sp2`>taD+=4*ioJc> zRL?y;(7~NQ@!9h&An+SK;{-s3OfS6b0OAdFdq|}oiyVlEzyk;JZ+sS9Eozw=d5oSL zY+s%}6*mdb$Vi9xi_6*Bd0}~Zt2Kn;ku&SpZ^dR%IP|xF>EG2V34`A{Tx9kMg%XG= zv_OGuLSO6@ZdK)a9D+uWR~-V>*804n(0;IJVKShl`QicJ%WGwOD4@E0bE$e+|S z6`pq1xm4xEE!WRc0($4bb!H*X5MeEI6M zNM|@c5?c_9ftZruZ{J~cBo4Mgg~K}H{=VDMRS!LWTp81%J~i1R9veiYfo{$8za1!j z^aUrrBy`K$kg*u|N7N@^fFeGJ>({RIm1sH#?Xzdex`kHIR#R?p>&Y+X1`Hh)R9m2Oosysh;_SiR0^f#YVSEuv|qWM%3 zLH(&x=a+zGRl~#yng-8{@cd-m!IsmB7x_6dp#T($h-9wnqE+h;pOmT@atk3Lh*L9PN#G&ZKJ3dxsgYGusiXyWwR%)lEtZ50^{#A|UL_^(KRbHQ1nk@89~|W@{6e zEt1vYM~gR;Mg__)Idf~eo`-S-tFoMD`E5vf2jocUSIDbBb%-=A+0!m`#tEJC^BaCI z_QL5j!&)KaGx~lXTx3_oBl9Y)qMA+ge9z_L(7hv?NGjrJM zXuf`KgYj1m1&WHNUeB?r*bK@a{M6>QHYOGpYFaZhI2g{zMqFwyEHvIkw8zY=EKmdL zDLv=MC6lY-3 zKf%crBgFL7HsU@dD3sS8%^r8ABe9t2sd4H6@q`dNo_~!2aXNcNRps@;MrjIZeOzY! z{!s5;5A>fa(5&-QzD^#RNcs2dMGHN-?m-J(;p*Ts1B2jp9(Q+lTon6#-SabpV~TtL zf7Rx*bSwz=9PX8E<#z;{t_hgb^6@*YJXTe`qMi^xRDocGr)*(yk;An90XTI&;NtoN zNiuYNm-l~lv?X}IZO=^$cp`Mq+ldRB~rK* zr>e^j7&(xmFW^10-5qsy+1;Kx$1Z<(aQ+5wRw@5(3Ys)4jOn{LIPgvr((CtxWk9lN#dspn|7W)5JU)mg z#KDjXHg%ihWhea>u{*WTdEN}S21b|R6^F*ifdGAfPs>ucbH~}a{SEH__{c^TU`}SU zJiu=8lxJrTVuPOVMbwLy*7CZP&pn{cdB)6AVA`e`$RLpU4-N+0Yj)17s)Y|0o9*we zx1d9=gW;>9hDJ(;q^ma0Ak&(&vY+vaVpk57&EwR{dv{x{ZSt8nBzHzNO$#)mK6gXQ zmS9VC*@bwuZmZaAz~0a{n;E-nZjM14N>I4W-Gy(>x3_`IeknC$dway5p~|S`D!(eu z=Mb(214Hv99m|QI+(c_?pYL3@w^LFD_hi)ysT7}SQzJyv>IgOIIjW~kf%JFov(7D` zLtYuFdc*`TFZMK*3FHh|WE)}bztJjuIsHE8?g7%st55Ur@DNIuA8>B{s05 z8~bfxSXn?>w>j#c~FqR zEC0rA380a|+%^lBrNwW6h)y#+5{H`WHBej`N55QFhzIutl&vyM+0IsCFV@UxB=?M* zT%dNTHWpiK+UBAg$sN+B<@h;V&wb4FwmI~J=xwWk#e_=N6oor9f+(M9PoH&1X=zp< z7@LNF2Oqr?6&w=?v2y&->g5~s1BH@TQUaUht^nP%NPd3DN#C8Ql;reRe>URwog8Oc zOGqB?AWTQv$3{y-Gb{Aw?`!{&u2-d_U%^FYK-2uAxcD1XM=PsrTm*)Snkt9E;3N^h zaP`X*{I8+m6B*Yyry@|dKZl0OHja6?{@wWZ_NOFphTIOU8~&ZzzDm&;R5PsUsD*Jb zKQLKG!kK=ZZCQ2f&cSKc?#t*A2tzKT2ZjU(6C}0h<36r5H3zrjK3*y+s*OXDlSX*o z3SyLxG<~Ei2*bUddjE00Dz!F+w&p9E78IHIT-OBOzLhApR_1N~66|uax&y7tCJAx= z77++ZE;7dckd+*xxa6XVDHM7PZm~Sq?K{9Q+}eIIG4DPz#63R|At}N;tB6;xo+?_Snfy-X!I7jUDVwd}lJ2g#=2mYa8m5xmlSzH9 z$YDS4-PPgg(Mq9Zo;Uq#%9?6FWxv7@jIL|EN2d0f8}32CxT5W6XZ!lD+Lu^!zJ;iX zu1Xy($Vo(RFZdS(*n7Tlak~h zFrGa@Ee!^w@4~h*?V0!C><54O(i~w+nVR+?HI<5o%kv3=`y;123vp}i74u0-U1jRz zJeEUUFUvfRR*klIb{>JRdxRs6ywmf@2VsSBfql&}X?qlLJ7Y4C0z$-(I-GvJfJ7M0 zgXASTqC++*H#Zm*je*g84Ov&NGQ>r*E!Q@*kkU?P$x0_B{e`# z7tJn5#3)eH{8<6I+y@Vp^k2VDcE8$FS0-RKV3`Q`kjt;*B(^*E(#Ch^ma}r*n}UYB zo{l58xOpsw#342wmN(NFbQ0p>X#-dAX zjq_f289-vi)?*CYWx-Bue*0TjwnGmKMpPHh8=_Q>OZD`HAZb~_aZg2MsWEplL4MzK zs%UsNR%BbXSA#*>d^`C|YwRAwh~o;5k%!Ovp~>{==(t>lf++Mk7y=)ss7x<*MId4# zt2b4b^Y^AEr+)a-WTsYPfilg`vEV~*J^*qRim)G(gjtm$K*@~*pTb@uM*dO;q$^t+ zz#WHwOfZ;Z7Q_>0WNI3pu~dQrQrYKgc=&+y;}lXd7WORHv!zEzZs38~idTjF7WvHz z!ssBu_fC1#duNmW=c^U$_gSXOlGtec({kg3w?~T3m1+4o%@_+xHM8VfPK3dnv(vb` zHuq6JXzevC7i`)qsH&bLJ_F7^t&xv(M(*>h@r$eqc*41j*3qGnl z5}sjXx+@qzzO}iv+A`asPV=1j)ZL?9fxCBGsc9a3fTQ!hBFZhL1M(n2@DLA%tp2o| z!K(s}1UnNgL|DOrD-wo#BP~7AY8fjpDsArJdMUUlW^~)6J|PL zy9Zdz-YsBA1~T;|0Dp=1CWDq<@R2?p5NLo}z$_|3Cs8{_5VxYf9YmmYL< zD}H{VaU%_uzJTK;`^LmDM2~6vmD4o*Y||RbcV>hAJmdBiN=81GE7VuoM0ByVVOOv6 zllxp7(cxL*uX3Wt>=MO2lpkh@)D#_9-)SFx+q(%|UQK;}d> zMDU_SMGKb8%j|nhlqWhZ@YJ)!yRs}9<-V8eJ)7*Qqvhn}d>43{)1mba#A_yT5)H`Y zA^M_vlT+YS*1T8ODHWW0_NVX8KQ$FC`sxe)v**A;%;eJU9NnTi) z6J1twIDLlE^5y#B&L;ZyT|v=#&4_RRr?u~lYHHisj-sG~fTBo8L_|7BQxH%=5Tq!g zbZJVED!m6Qh%^-u5F;X8dM}|0Qlx|)I!FsBz4yFxU++2Re)pdHjrYg*=v1z5tO=R;DmfU53yGavQKW+)2~TFqHKEF8V=6TPCAzjqeVjH!-FV$zvk4 z3ozR8w^|t+UwTAB2+<^O9n$xPoIMZ(I|@VJEoVljS{Xr7WG-Wb%`DbdvjD|@i0A5_ z71*@J=sgVypAGf7Sy*Rum#P%uo?Y?<7d$ly?{s}MV+FEFW%NmRGB8F=~tf5DSZ6v%^bu(7Ghxl30^=aoyrn=eU)433nd zGnrU=@!mUkZclm5E-x>)5Hc{8F>$%i%*n|an3yd6u8M0Ww*avB{@x$pRLu2wO_BSH z?Wu+Zj~AtOqb=*#)`*)yFJE$SafPX~VlVjo&`irmQBd!9I6Hp;FS~S1L+yRVI~(ae z76add?RIhd;MN-)&0mK`rC`g81wl^+aW?ZcawK&pRj6Ahy)L848(`eb3!I3fsHt{auILnLQ~yL7@NH zMq5Xx4w%rzvyo0T} zb}Jeg+Zp9tsBH8KYJ6HQC1^x1R%{6w=0B;&U;OqK&2469r}2n%lHMCfD=n>$f;{8N z&UOkR4H~%E#;*p)$-cxjvK0WX&cJlQed{!zq3EW`4Z%fGBIu^Ib>R0F+BsW85ix5; z469wtMP7&whi+2XWcntz!%6k+&34)n~i!O^?qc!|6@RSl~b3bs6_(ngsPDd zd*3?&0QZ9Rr#fj;pstNPZ%f6k?)wTOO$NQ$4B6D%4lylXU%-gSTGFv}w?4XmsXPzb z(uKvvisoi|=;z2cH;%f__%^?KCCkOA! zZ~t5Fl8XpB4DIIm?mnx~d(IGo1E9@kpEZ*bI3iZ4CEf5)pXg+Hu!8U2bYN5ML%CaI zci}G8HtI0D)+C^%+2QIuPrXrK-&uG*dA+(9B0xuMa^xyKD-7? zyREG+1Ps9*d(?G@eE#8DnV@BmF9_7LTy_*^^7iWBFmyn-z&?4}xCQ0m<|?18)z+W8 zxos!@s(W?$A$Nt(Nf2$ps)gVO?KV5KMQGc~K!a~{a@Kh!+z@=z;N*kt7c5^q4(`<$64VcBNPO1Zr%}@iG#GR{dkM($=twiD3o98^z zyYf?{$_yMughWYRd3mbCho^c*cZq;eQ03`8z0Qq>hX~L8)xXra5sflo_i;M0Hoe5%=~P-n-{gyYB&Z74)rX7wHSaRD`8!%kVgArw_G zgQ#~CKYplyg8A^r>-T(T8%7D)Og@nYFO1|N@-|5c^bbO1%jY1ifk_mtnwXj!NXM=~u?Q=(}0O_sIUzL3|iUm~TJ@$MGP0a{u}jLz|za;3>7CBM3HcZbMavPdW@S(&gx za=<~$)Mb~1(b*aQn&D2IDbUHWyZ}A(bf3?w0nb%a^RANCvZ}9Dx+PtcM+#`Je)*-vis;4?Osb{+h|BXEzTA_ouaa zMtB-UM{6Gnd-qOLM@Qk?fV;m77|uy3BamSG>%~GeVeqRK(Un!#u}OR2WJ*2NJ)lp> zBqr`$s#?p=aZSnzB{vzH#@4aVafW7J|D{j>Szi>GsO1!qcR5V=h`2!;6 z=F7is|7FWGLROzLD(fBun!Pdf1q)jx?94kmgGmnPcsF;8gp zDe)P4pjZ{4G?%kL71+i@*n+&@>P%){4%eCdP0|lFHMQg~sc}h#5&1S)K)P8QW`mR3 zp#QKZd@)j?q6vZOi5c*CF;U@)&OACO2CYJ-+LAf#3F&5i* zt}1jS5K&oJR4nEuNQs{~mxyDul_0OaZ>8fUn^C!XWn1sibw2%>TRg5BLg_~3By%6> z+OBHuc$s%(*N56%Z!NRR5H6#8Y?K!{e{GqlF-X3Hhe;H&*FE~Wfq;D2a@mW5TH!qn{6J0 z)Wq&mw2+5~hbn_4`HApgt=qTlVas!w8@yhmr-A#LFYU)5vYo&jB*wGn-y*5&&i|IWPI?QUZ=GEQlwkNl@3^=G z3FosR)tNC*56ZabCRfpxAAz_R0O#II1=iNIeSP9G^WnV|)xVJMn1Z)z5SHO{2J)P} zHhWH}u_}flCe@0KB`u(tFrK z?ERVG*@XxZ??a%$ic1*ye4mmT`ujr6sCns(O#gteh(woQUr*0D;Mu?pI^CV8gewC) z*K2E~vb+1m`ZERU{p5fJ?EwghLB#98>Z;9IUjC7Lbq`EO(>vWu0NR1mzz^h4w&;6D zoyN{Wb%SC!8%D)48~`;4P)h!Rfv1)mi;SFQAp4mSXo=+Hg0n(Gq}$$q1!HUvQd!wm z^T|S#rc^k-GKx!$<@LJE8}PB`()^d=ZE0hw3bcPi?nd=*lpB zo{|!f-&7j2*W1G_$CDs&>Z@QTDUlt?Nl%kl^Q9{x%)PD0KOC{3)fO}|-dG!I&Av~G zT?ad5J^X*jfBR1D*TU>z5G)0L0e-egrj3miG;vkHpvdd-a0OY3@X`hB3=*0^2u^!u zB#U2&eZ0NYSss(SDZd3qu>C^q}SOuW_{q^6;E4uQzSh0PQ z-DOrMgwhqip@x69`Tvk7D`bROLdYVk+(UN3?feUfP>pG|m}ehL9FTRWz5z9Ard$2F zRo07*#w1{)BM4G=9B>42J_qk>jX7*|Ag_$ZhEEKAwu0hV({0> zbl15g?P^3#JI=#>u{U~#_-yYSr}tX+&u=oCD68IL=SMQXiiAq*Bq_^3MMuj)Vls+< z$My&eih|^?qx+xlSB+ZaXYR_lKQ_4lqE!l%5(Nbkh7bq(S_nf(C89H3Ru26m48bLT zRfhzFvj;u44ATwEn=AHUycT+DkuU_1Q8lmkNx_)FpI_&1nt{UHthIm=srlBo&vD~>~7X|dXg}Z%F6XxciDR3AzKG}1j^R}3`$Hwr~k6`Gq77iYSzDUtqa`!Ii zM`lKzmzBNYd#w!`f@8Pn=seCy`LHRpFX{;iX~JO$$NTjtyOkZKZ_eX1}Gc&GE~t~{#hag zZFY{6^G6_;G>I~|vqJWl zW-RWKz5PKMPY<(CVkgh8Gf3LjkhNrJ2w{4CULo5MFuGdW+yaJWdip%uK$7}aH^V0aoVOw81VU&mUA9S1T+eF7^DMs64` zm*`kR&DtCKDk3RJod4op08S8X9?ym6>R734_XcW}>kVh)1A*{fm}zlJpwN?jF#V1(G+#idY~*6QYrOz zR_6#5azhv`3z!=8u{nPR2Xa%zWUX^1{R{?%Qjp)N?xt{>f@Xi02WH7CufX~a5&!u? zt{t(lFe?-VU@oP<|AHDz>r;@NE#L?VYF1Y?qB&-|1Z-<+MXgp@u&~P{M*Aqctsj3A zdMiSb#Hqy_mT&nPt-=0resRn$qf8O<>_DmOwOo%r&CRtmJ(if~4Y0|4wEGfR`Qkvj z2ju6g_wQ@s{70RG^T2}m*~}EI{{KpSuER7KxVAjp(KVcN08pQ8Dd8b5Td60^vrXE~ zU8eiLr7b&AQy?Dqe2OwzA$(*Lke)r64@3*v+Am;6PWx>98dBCMKYVF&N_3r?r4dZ> zNDqZXS%7i?4(iF}oZk$nIy^fdjf9nU1HK#(odYH5yeq#U3~*Pb^OhjQTLo$+S10;O zQjmpMq?o{hZp{}L5lH|k&3(SEhp>!&so3Ju-XhWX#AYMY`s~{V#Vo!l*OgGy*7_rG za?vmsz-V^|XvG(nohT{*90ukmd%{o6tK3vvz&dpbFiLn7bOE(MqSJNrRibVbDQReg z0D0;Nl5D#ZK6oJ75jL+z+&9~*^ZPppXwO{r3%dAY{Bi)jL>_dN-`@aj4zop14himl z3~ZDJsWs|RSUgvi@4igeq098%1%WVx9?5=i6hQLDG2bkYzIhY5-FOds)xR<|B3ehMCqmiAiaD0&GPqxW&gZ|?&8q&{Cd5X3BpE`IGyvUta@f1AiImY**G z-)pR)x<+}L+Hz+HoR2`M5(LA;!Vo}B%>Wp!(eWR_AQT0#75pc!?!@lMxZ35Uf8kA? zTa8VMee4`GrXvp#8P-FO7J5ekOmR@ZXB zib~Y?KLVsBx-bJ^Xsq8XDjbCGD`mGb6|Y?E+n%^H2~ax@xp_>&8$)| z#`=+;CmMd8Q@P2yhgZ*E{Z_51rA75fG1jCiAq~aA$Os!;W_E5zej1=wiMxa{*QQCtw<#KE#0+I?_4SoO~GL=8Y@ACBY#CJf~&hjL)(YV6y ze0F7pIjE;h%?b*|CmQYGaL7eKAH**Q zE?M>pG&atKYtB>g>cbaGv61gnhyV{EHM#QEK+p{w7Z1F4=H>~;PHn@kO% zfE{>FQP*Z`dI7ygP{*@b_&k3?;Zc~{+L6AmO}k57$AZ@>MSj*>?XY_FkFNpX88KnBY?`yByIO1msC@G!=*F5_JvuT-Ryh zph1B~q4n0;y6@?1U3jPjjf5vs-c{_QnFbOGNZgfO&P7{e*OG}?`oMq$v@wr30 zYtx`B9^3*^kBXJ)P0OTX8ERw#V95L0fARz8mB-S?+!k-{9u2~lLXe2la#Dl`% zjp>Tw9m7P>QKPT^WGCIvV#NclLqS17nDe4rID-C?Fd%1+JAK< z-H_r^TI&t)eeF<;u)E2M{MqnrJAn9de?@ESWppVp&o1A|9svmhxGvb>PMuohHN?4z zkakEZADd6gU>%7Mi~$5Jz^$I9Ym4GkJPGdf7TpBgOX(>|4<8PnQQ zsxR5t#1y?$4>+!%K?%^pG4M#9GhM%-tg=(nQ(%8@yO3L1UHM*ZbK1oVSsrm2tkMO- z4@TNmSx90K0De+jpva#yEt+bG8$*DT49a~~OFgD23A^#=3{n8TeElUOzEjR%5PuaW zBb0edLqFuywKmfp1=Y|$S-@hs2OqA)d;;AeY%xEl2`Pyo%??AdrC_Apn>@|y4Dj{!g>FIl z%3t0Cn$$8P8s@w#|7u70)7?3_CHJ+R4PeuSO|~QSY%&bXD}Q`4HZMO9l4Z1OFsqKA!E(qnI6? z?s0^s!5BI%*zFS2Lh0tpmLyiGSFQVVulA*9X1?0LG*sK({xn}*oqv7U8$vL;v&_QP zePD*ucWBOF*}3FBREG5j|K^_Erxrcg z-{i4IX3+Wqz6etKWw#2I6L6Z`jSx8uTs~|!psg7vK9_@C5ByITFV51mG5~@L@=jO~ zpW#RXTf~(pT9DH)FfyB2T5A3Zkl_+P%o)b<(RB;tqKQD{LNhvOkqXX@-W^DZgGVgT zrh)$Ku|u1yv-OW~qa<+fjZDp|H{cv^0%4s1u|27&q^8W5mU-mYDFgIwtFMiXjkT00 z-q-Q|8;*?}Seoq;FI6>FVC>j{o&yFOoSUs@LZxs;#-P4Kk&~-@#5nBD7tl8bMjB2( z$cDYTrSGN9>8Cs_zN8)Znk+_n>Ibq?JU6v#6 zVKj1^fiLP(KyxrQ<5L>!Z@(kNI@HLMv4mbI2jsK5YzOCjRCCQj%yM;RNKM63lht$A zrEcDP#1)8&M<fTooPFX&IEf_Lw z`Z5kOn;bjRWiXNkMCy(@Qa*p~m*ZBy=2d9SR#~a!zJ*<5+r0P-Hno2@k}_qCd`V3m z`!_Re3b9Vgb9OIeg-!@L-aRcT84jKRhW;JD4UiJTl5w-`y$7*U;H@k=sw<2(zxrW`YOq;OV^&dY@Zg^U_#?GuOv6ZBiURtGBj7#VeRbxn+oTZUix!7v|| zgR(VAKje{Pkwe5EWRj>G2AW?X@)j-Gp(K%zj#2^i0UK#RQhX)u!O z4?ZJh74@#We2+i_#3dHfp}K0{pT|6>6)9i8RQme+_jo22#GT$_=H zYFR0mjX+)A4R_a(n``8A`LA(IiAU%>gBC_>jDd6kf*4_DkG$^W6a%`Y{aZsQxKLq= zv2r+f$+c@qZ2Rk5T4*^rk1hfZ=OcUq z_;t81r0Q~I?`Q$&55RE`0sSEV%ln0vl?(!RX!A#D4WOpxN|)$CB6;jMVMo=fwaDx4 zf=K%=e|6PAETO+B`ejNBF*547EUcN;NGKb=N^(knGhJiZU_eBB;GNjcdN^H8(EZsD zJydKG*@F_RHodegPP9Xh_rM4fOkAxtZ-7@#LK%4nX^uGNA0 zbMF}L6G!NoKu$@akWZXSdB0#|I%nQ-0E_^2b&dCSe48MRCl(S6J(dZrRnu7G~S{U5f=XR685P;UC50-nqsMGi9-3!<3X8wh`n@CWwUeIMCsiAjH&p-|ReZt&+dB_vphh#Oi(Wu&Lqgnn($cUMq|mpT&mv%1%# z!~m|4XJeGo`BEu_l6fLoNKjFblxZU?M-uR5ACo8vp4CndjAu3Jd#l+p{;}MRu}Afc z?Lf(q+O5sct?P^#cSF9FZdE-{dg_ef7q}X8{=G|Jb;qxOoBT4@rODwFKm%Ca-*4S} zBwvkZzy1yWAjPcQjfT~XoE(w!PQ|16ySfm%WFV{Pun|1Oyc%oNG!ZO2KmqT|>{Bfx z(T4hvBB=+4jeGYX*FvGXw?4f6{EKQF-4^`&1*eEm&EJ1JtlhF!B2`#^Di>DYfDFXo-Q)CTjSEF(kjC6ZEG}eNIf|j=cB#deaA+ z%pKG8dtW-oYsF@<1l2gy%Kv_QX8A_qvEM)Be@o@}Yp>47|MAim*~W`C{>YXG6Ufgf NUsYE~zheC4e*mRB?|lFO diff --git a/examples/jdbc/README.md b/examples/jdbc/README.md deleted file mode 100644 index fd5c04bd..00000000 --- a/examples/jdbc/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Overview - -Example projects for database access using JDBC. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). - -## Dashboards - -- [non-reactive](jdbc-dashboard.json) -- [reactive](reactive-jdbc-dashboard.json) diff --git a/examples/jdbc/jdbc-dashboard.json b/examples/jdbc/jdbc-dashboard.json deleted file mode 100644 index fe91db87..00000000 --- a/examples/jdbc/jdbc-dashboard.json +++ /dev/null @@ -1,393 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_GRAFANACLOUD-GREGORZEITLINGER-PROM", - "label": "grafanacloud-gregorzeitlinger-prom", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": {}, - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "10.1.0-58063pre" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Dashboard for JDBC metrics with OpenTelemetry instrumentation", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 17582, - "graphTooltip": 0, - "id": null, - "links": [ - { - "asDropdown": false, - "icon": "info", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": false, - "title": "Semantic Conventions: 1.20.0", - "tooltip": "", - "type": "link", - "url": "https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.20.0" - } - ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "Ratio of currently used to maximum number of allowed connections in the JDBC connection pool.\n\n100% means that all available database connections are in use - and it's likely that there's already a queue of waiting connections.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMax": 1, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 0, - "y": 0 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "sum by (instance, pool_name) (db_client_connections_usage{job=~\"$job\", instance=~\"$instance\", state=\"used\"}) / on (instance, pool_name) \nsum by (instance, pool_name) (db_client_connections_max{job=~\"$job\", instance=~\"$instance\"})", - "legendFormat": "{{instance}} - {{pool_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Connection pool utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "The number of requests that wait for a connection from the pool", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 7, - "y": 0 - }, - "id": 39, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "db_client_connections_pending_requests{job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}} - {{pool_name}}", - "range": true, - "refId": "A" - } - ], - "title": "Connection pool waiting requests", - "type": "timeseries" - } - ], - "refresh": "", - "schemaVersion": 38, - "style": "dark", - "tags": [ - "JVM", - "open-telemetry", - "Java", - "otel", - "opentelemetry", - "otlp" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "grafanacloud-gregorzeitlinger-prom", - "value": "grafanacloud-prom" - }, - "description": "Choose a Prometheus data source", - "hide": 0, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage,job)", - "hide": 0, - "includeAll": true, - "label": "Job", - "multi": true, - "name": "job", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage,job)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "description": "The instance of the application, e.g. pod1", - "hide": 0, - "includeAll": true, - "label": "Instance", - "multi": true, - "name": "instance", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "OpenTelemetry JDBC Dashboard", - "uid": "e08362aa-aead-4270-86ac-9be6249b13fa", - "version": 4, - "weekStart": "" -} diff --git a/examples/jdbc/oats-non-reactive-template.yaml b/examples/jdbc/oats-non-reactive-template.yaml deleted file mode 100644 index e38e275a..00000000 --- a/examples/jdbc/oats-non-reactive-template.yaml +++ /dev/null @@ -1,18 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - traces: - - traceql: '{ name =~ "SELECT .*product"}' - spans: - - name: 'regex:SELECT .*' - attributes: - db.system: h2 - dashboards: - - path: ../jdbc-dashboard.json - panels: - - title: Connection pool waiting requests - value: "== 0" - - title: Connection pool utilization - value: ">= 0" diff --git a/examples/jdbc/oats-reactive-template.yaml b/examples/jdbc/oats-reactive-template.yaml deleted file mode 100644 index 3e1aa85e..00000000 --- a/examples/jdbc/oats-reactive-template.yaml +++ /dev/null @@ -1,18 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - traces: - - traceql: '{ name =~ "SELECT .*product"}' - spans: - - name: 'regex:SELECT .*' - attributes: - db.system: h2 - dashboards: - - path: ../reactive-jdbc-dashboard.json - panels: - - title: Connection pool waiting requests # data comes from micrometer - value: "== 0" - - title: Connection pool utilization # data comes from micrometer - value: ">= 0" diff --git a/examples/jdbc/reactive-jdbc-dashboard.json b/examples/jdbc/reactive-jdbc-dashboard.json deleted file mode 100644 index f673a4be..00000000 --- a/examples/jdbc/reactive-jdbc-dashboard.json +++ /dev/null @@ -1,386 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_GRAFANACLOUD-GREGORZEITLINGER-PROM", - "label": "grafanacloud-gregorzeitlinger-prom", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": {}, - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "10.1.0-58063pre" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Dashboard for JVM metrics with OpenTelemetry instrumentation", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 17582, - "graphTooltip": 0, - "id": null, - "links": [ - { - "asDropdown": false, - "icon": "info", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": false, - "title": "Semantic Conventions: 1.20.0", - "tooltip": "", - "type": "link", - "url": "https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.20.0" - } - ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "Ratio of currently used to maximum number of allowed connections in the JDBC connection pool.\n\n100% means that all available database connections are in use - and it's likely that there's already a queue of waiting connections.", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "axisSoftMax": 1, - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 0, - "y": 0 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "sum by (instance, name) (r2dbc_pool_acquired_connections{job=~\"$job\", instance=~\"$instance\"}) / on (instance, name) \nsum by (instance, name) (r2dbc_pool_max_allocated_connections{job=~\"$job\", instance=~\"$instance\"})", - "legendFormat": "{{instance}} - {{name}}", - "range": true, - "refId": "A" - } - ], - "title": "Connection pool utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "The number of requests that wait for a connection from the pool", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 7, - "y": 0 - }, - "id": 39, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "r2dbc_pool_pending_connections{job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}} - {{name}}", - "range": true, - "refId": "A" - } - ], - "title": "Connection pool waiting requests", - "type": "timeseries" - } - ], - "refresh": "", - "schemaVersion": 38, - "style": "dark", - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "grafanacloud-gregorzeitlinger-prom", - "value": "grafanacloud-prom" - }, - "description": "Choose a Prometheus data source", - "hide": 0, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage,job)", - "hide": 0, - "includeAll": true, - "label": "Job", - "multi": true, - "name": "job", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage,job)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "description": "The instance of the application, e.g. pod1", - "hide": 0, - "includeAll": true, - "label": "Instance", - "multi": true, - "name": "instance", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "OpenTelemetry JDBC (reactive)", - "uid": "c0cf1745-3a11-4c73-9ad0-c890c6c90c9d", - "version": 2, - "weekStart": "" -} diff --git a/examples/jdbc/spring-boot-non-reactive-2/.tool-versions b/examples/jdbc/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jdbc/spring-boot-non-reactive-2/build.gradle b/examples/jdbc/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index e7160ce8..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-web' - runtimeOnly 'com.h2database:h2' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-2/oats.yaml b/examples/jdbc/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 885f2cfb..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-non-reactive-template.yaml diff --git a/examples/jdbc/spring-boot-non-reactive-2/run.sh b/examples/jdbc/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jdbc/spring-boot-non-reactive-2/settings.gradle b/examples/jdbc/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java b/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 537f6440..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import javax.persistence.Basic; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; - -@Entity -public class Product { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Basic(optional = false) - private String name; - - private Double price; - - private String pictureUrl; - - public Product(Long id, String name, Double price, String pictureUrl) { - this.id = id; - this.name = name; - this.price = price; - this.pictureUrl = pictureUrl; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Double getPrice() { - return price; - } - - public void setPrice(Double price) { - this.price = price; - } - - public String getPictureUrl() { - return pictureUrl; - } - - public void setPictureUrl(String pictureUrl) { - this.pictureUrl = pictureUrl; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + ", price=" + price + '}'; - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java b/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java deleted file mode 100644 index 1180cd22..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.repository.CrudRepository; - -public interface ProductJpaRepository extends CrudRepository {} diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 6f3e3a5e..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - private final ProductJpaRepository productJpaRepository; - - public StockController(ProductJpaRepository productJpaRepository) { - this.productJpaRepository = productJpaRepository; - } - - @GetMapping("/stock") - public String getStock() { - return "product found: " + productJpaRepository.findById(1L); - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/application.properties b/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/application.properties deleted file mode 100644 index 17566b15..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.datasource.username=sa -spring.datasource.password=password -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect - -spring.r2dbc.url=r2dbc:h2:mem:///testdb -spring.jpa.hibernate.ddl-auto=create diff --git a/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/schema.sql b/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/schema.sql deleted file mode 100644 index f3fae612..00000000 --- a/examples/jdbc/spring-boot-non-reactive-2/src/main/resources/schema.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE TABLE IF NOT EXISTS product (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id)); diff --git a/examples/jdbc/spring-boot-non-reactive-3/.tool-versions b/examples/jdbc/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jdbc/spring-boot-non-reactive-3/build.gradle b/examples/jdbc/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index fc4f36bc..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-web' - runtimeOnly 'com.h2database:h2' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-3/oats.yaml b/examples/jdbc/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 885f2cfb..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-non-reactive-template.yaml diff --git a/examples/jdbc/spring-boot-non-reactive-3/run.sh b/examples/jdbc/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jdbc/spring-boot-non-reactive-3/settings.gradle b/examples/jdbc/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java b/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 52f29564..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import jakarta.persistence.Basic; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; - -@Entity -public class Product { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Long id; - - @Basic(optional = false) - private String name; - - private Double price; - - private String pictureUrl; - - public Product(Long id, String name, Double price, String pictureUrl) { - this.id = id; - this.name = name; - this.price = price; - this.pictureUrl = pictureUrl; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Double getPrice() { - return price; - } - - public void setPrice(Double price) { - this.price = price; - } - - public String getPictureUrl() { - return pictureUrl; - } - - public void setPictureUrl(String pictureUrl) { - this.pictureUrl = pictureUrl; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + ", price=" + price + '}'; - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java b/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java deleted file mode 100644 index 1180cd22..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.repository.CrudRepository; - -public interface ProductJpaRepository extends CrudRepository {} diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 6f3e3a5e..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - private final ProductJpaRepository productJpaRepository; - - public StockController(ProductJpaRepository productJpaRepository) { - this.productJpaRepository = productJpaRepository; - } - - @GetMapping("/stock") - public String getStock() { - return "product found: " + productJpaRepository.findById(1L); - } -} diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/application.properties b/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/application.properties deleted file mode 100644 index 17566b15..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.datasource.username=sa -spring.datasource.password=password -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect - -spring.r2dbc.url=r2dbc:h2:mem:///testdb -spring.jpa.hibernate.ddl-auto=create diff --git a/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/schema.sql b/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/schema.sql deleted file mode 100644 index f3fae612..00000000 --- a/examples/jdbc/spring-boot-non-reactive-3/src/main/resources/schema.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE TABLE IF NOT EXISTS product (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id)); diff --git a/examples/jdbc/spring-boot-reactive-2/.tool-versions b/examples/jdbc/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jdbc/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jdbc/spring-boot-reactive-2/build.gradle b/examples/jdbc/spring-boot-reactive-2/build.gradle deleted file mode 100644 index afb1f0ec..00000000 --- a/examples/jdbc/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,30 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc' - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - - runtimeOnly 'com.h2database:h2' - runtimeOnly 'io.r2dbc:r2dbc-h2' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jdbc/spring-boot-reactive-2/oats.yaml b/examples/jdbc/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 578d4faf..00000000 --- a/examples/jdbc/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-reactive-template.yaml diff --git a/examples/jdbc/spring-boot-reactive-2/run.sh b/examples/jdbc/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jdbc/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jdbc/spring-boot-reactive-2/settings.gradle b/examples/jdbc/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/jdbc/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/JdbcConfig.java b/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/JdbcConfig.java deleted file mode 100644 index dfb140e3..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/JdbcConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import io.r2dbc.spi.ConnectionFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; -import org.springframework.r2dbc.connection.init.ConnectionFactoryInitializer; -import org.springframework.r2dbc.connection.init.ResourceDatabasePopulator; - -@Configuration -public class JdbcConfig { - @Bean - ConnectionFactoryInitializer initializer(ConnectionFactory connectionFactory) { - - ConnectionFactoryInitializer initializer = new ConnectionFactoryInitializer(); - initializer.setConnectionFactory(connectionFactory); - initializer.setDatabasePopulator( - new ResourceDatabasePopulator(new ClassPathResource("schema.sql"))); - - return initializer; - } -} diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java b/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 7921b49f..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import javax.persistence.*; -import org.springframework.data.relational.core.mapping.Table; - -@Entity -@Table("product") -public class Product { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @org.springframework.data.annotation.Id - private Long id; - - @Basic(optional = false) - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java b/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java deleted file mode 100644 index a5734a8e..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/ProductJpaRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.repository.reactive.ReactiveCrudRepository; - -public interface ProductJpaRepository extends ReactiveCrudRepository {} diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 3577aa35..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - private final ProductJpaRepository productJpaRepository; - - public StockController(ProductJpaRepository productJpaRepository) { - this.productJpaRepository = productJpaRepository; - } - - @GetMapping("/stock") - public Mono getStock() { - return productJpaRepository.findById(1L).map(Product::getName); - } -} diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/resources/application.properties b/examples/jdbc/spring-boot-reactive-2/src/main/resources/application.properties deleted file mode 100644 index 17566b15..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.datasource.username=sa -spring.datasource.password=password -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect - -spring.r2dbc.url=r2dbc:h2:mem:///testdb -spring.jpa.hibernate.ddl-auto=create diff --git a/examples/jdbc/spring-boot-reactive-2/src/main/resources/schema.sql b/examples/jdbc/spring-boot-reactive-2/src/main/resources/schema.sql deleted file mode 100644 index f3fae612..00000000 --- a/examples/jdbc/spring-boot-reactive-2/src/main/resources/schema.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE TABLE IF NOT EXISTS product (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id)); diff --git a/examples/jdbc/spring-boot-reactive-3/.tool-versions b/examples/jdbc/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jdbc/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jdbc/spring-boot-reactive-3/build.gradle b/examples/jdbc/spring-boot-reactive-3/build.gradle deleted file mode 100644 index 31954248..00000000 --- a/examples/jdbc/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc' - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - - runtimeOnly 'com.h2database:h2' - runtimeOnly 'io.r2dbc:r2dbc-h2' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jdbc/spring-boot-reactive-3/oats.yaml b/examples/jdbc/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 578d4faf..00000000 --- a/examples/jdbc/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-reactive-template.yaml diff --git a/examples/jdbc/spring-boot-reactive-3/run.sh b/examples/jdbc/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jdbc/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jdbc/spring-boot-reactive-3/settings.gradle b/examples/jdbc/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/jdbc/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/JdbcConfig.java b/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/JdbcConfig.java deleted file mode 100644 index dfb140e3..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/JdbcConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import io.r2dbc.spi.ConnectionFactory; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.core.io.ClassPathResource; -import org.springframework.r2dbc.connection.init.ConnectionFactoryInitializer; -import org.springframework.r2dbc.connection.init.ResourceDatabasePopulator; - -@Configuration -public class JdbcConfig { - @Bean - ConnectionFactoryInitializer initializer(ConnectionFactory connectionFactory) { - - ConnectionFactoryInitializer initializer = new ConnectionFactoryInitializer(); - initializer.setConnectionFactory(connectionFactory); - initializer.setDatabasePopulator( - new ResourceDatabasePopulator(new ClassPathResource("schema.sql"))); - - return initializer; - } -} diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java b/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 6f900842..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import jakarta.persistence.Basic; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; -import org.springframework.data.relational.core.mapping.Table; - -@Entity -@Table("product") -public class Product { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @org.springframework.data.annotation.Id - private Long id; - - @Basic(optional = false) - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java b/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java deleted file mode 100644 index a5734a8e..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/ProductJpaRepository.java +++ /dev/null @@ -1,10 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.repository.reactive.ReactiveCrudRepository; - -public interface ProductJpaRepository extends ReactiveCrudRepository {} diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 3577aa35..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - private final ProductJpaRepository productJpaRepository; - - public StockController(ProductJpaRepository productJpaRepository) { - this.productJpaRepository = productJpaRepository; - } - - @GetMapping("/stock") - public Mono getStock() { - return productJpaRepository.findById(1L).map(Product::getName); - } -} diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/resources/application.properties b/examples/jdbc/spring-boot-reactive-3/src/main/resources/application.properties deleted file mode 100644 index 17566b15..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.datasource.username=sa -spring.datasource.password=password -spring.jpa.database-platform=org.hibernate.dialect.H2Dialect - -spring.r2dbc.url=r2dbc:h2:mem:///testdb -spring.jpa.hibernate.ddl-auto=create diff --git a/examples/jdbc/spring-boot-reactive-3/src/main/resources/schema.sql b/examples/jdbc/spring-boot-reactive-3/src/main/resources/schema.sql deleted file mode 100644 index f3fae612..00000000 --- a/examples/jdbc/spring-boot-reactive-3/src/main/resources/schema.sql +++ /dev/null @@ -1 +0,0 @@ -CREATE TABLE IF NOT EXISTS product (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), PRIMARY KEY (id)); diff --git a/examples/jetty/README.md b/examples/jetty/README.md deleted file mode 100644 index ffc6f2fa..00000000 --- a/examples/jetty/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for using Jetty instead of Tomcat. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/jetty/oats-template.yaml b/examples/jetty/oats-template.yaml deleted file mode 100644 index b83b6cd6..00000000 --- a/examples/jetty/oats-template.yaml +++ /dev/null @@ -1,11 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - traces: - - traceql: '{ kind = server }' - spans: - - name: 'GET /stock' - attributes: - otel.library.name: regex:io.opentelemetry.jetty-.* diff --git a/examples/jetty/spring-boot-non-reactive-2/.tool-versions b/examples/jetty/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jetty/spring-boot-non-reactive-2/build.gradle b/examples/jetty/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 98db5cd7..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation "org.springframework.boot:spring-boot-starter-jetty" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jetty/spring-boot-non-reactive-2/oats.yaml b/examples/jetty/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jetty/spring-boot-non-reactive-2/run.sh b/examples/jetty/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jetty/spring-boot-non-reactive-2/settings.gradle b/examples/jetty/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index b13dcda1..00000000 --- a/examples/jetty/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - @GetMapping("/stock") - public String getStock() { - return "hello LGTM"; - } -} diff --git a/examples/jetty/spring-boot-non-reactive-3/.tool-versions b/examples/jetty/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jetty/spring-boot-non-reactive-3/build.gradle b/examples/jetty/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index 1ebc24b7..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation "org.springframework.boot:spring-boot-starter-jetty" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jetty/spring-boot-non-reactive-3/oats.yaml b/examples/jetty/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jetty/spring-boot-non-reactive-3/run.sh b/examples/jetty/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jetty/spring-boot-non-reactive-3/settings.gradle b/examples/jetty/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 0be1547d..00000000 --- a/examples/jetty/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - @GetMapping("/stock") - public String getStock() { - return "hello LGTM"; - } -} diff --git a/examples/jetty/spring-boot-reactive-2/.tool-versions b/examples/jetty/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jetty/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jetty/spring-boot-reactive-2/build.gradle b/examples/jetty/spring-boot-reactive-2/build.gradle deleted file mode 100644 index fadf3d15..00000000 --- a/examples/jetty/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation "org.springframework.boot:spring-boot-starter-jetty" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jetty/spring-boot-reactive-2/oats.yaml b/examples/jetty/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jetty/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jetty/spring-boot-reactive-2/run.sh b/examples/jetty/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jetty/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jetty/spring-boot-reactive-2/settings.gradle b/examples/jetty/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/jetty/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 404a3dc4..00000000 --- a/examples/jetty/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - @GetMapping("/stock") - public Mono getStock() { - return Mono.just("hello LGTM"); - } -} diff --git a/examples/jetty/spring-boot-reactive-3/.tool-versions b/examples/jetty/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jetty/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jetty/spring-boot-reactive-3/build.gradle b/examples/jetty/spring-boot-reactive-3/build.gradle deleted file mode 100644 index a37b9377..00000000 --- a/examples/jetty/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation "org.springframework.boot:spring-boot-starter-jetty" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jetty/spring-boot-reactive-3/oats.yaml b/examples/jetty/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jetty/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jetty/spring-boot-reactive-3/run.sh b/examples/jetty/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jetty/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jetty/spring-boot-reactive-3/settings.gradle b/examples/jetty/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/jetty/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 404a3dc4..00000000 --- a/examples/jetty/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - @GetMapping("/stock") - public Mono getStock() { - return Mono.just("hello LGTM"); - } -} diff --git a/examples/jms/README.md b/examples/jms/README.md deleted file mode 100644 index 170f97ee..00000000 --- a/examples/jms/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for message sending via JMS. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/jms/activemq.xml b/examples/jms/activemq.xml deleted file mode 100644 index 071f045e..00000000 --- a/examples/jms/activemq.xml +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - file:${activemq.conf}/credentials.properties - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/jms/docker-compose.yaml b/examples/jms/docker-compose.yaml deleted file mode 100644 index 7b5e7cd4..00000000 --- a/examples/jms/docker-compose.yaml +++ /dev/null @@ -1,13 +0,0 @@ -version: '3.9' - -services: - activemq: - image: rmohr/activemq:5.15.9 - environment: - - "TZ=Europe/Amsterdam" - volumes: - - "./activemq.xml:/conf/activemq.xml" -# ports: -# - "61616:61616" # broker (admin:adminactivemq)(amq:amq) -# - "8161:8161" # web http://boot2docker:8161/admin (admin:admin) - diff --git a/examples/jms/oats-template.yaml b/examples/jms/oats-template.yaml deleted file mode 100644 index c36c6d8a..00000000 --- a/examples/jms/oats-template.yaml +++ /dev/null @@ -1,15 +0,0 @@ -docker-compose: - generator: java - files: - - ../docker-compose.yaml - resources: - - activemq.xml -input: - - path: /stock -expected: - traces: - - traceql: '{ name = "jms_destination publish"}' - spans: - - name: 'jms_destination publish' - attributes: - messaging.system: jms diff --git a/examples/jms/spring-boot-non-reactive-2/.tool-versions b/examples/jms/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jms/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jms/spring-boot-non-reactive-2/build.gradle b/examples/jms/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 6298663a..00000000 --- a/examples/jms/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-activemq' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jms/spring-boot-non-reactive-2/oats.yaml b/examples/jms/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jms/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jms/spring-boot-non-reactive-2/run.sh b/examples/jms/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jms/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jms/spring-boot-non-reactive-2/settings.gradle b/examples/jms/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/jms/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java b/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java deleted file mode 100644 index 13695f08..00000000 --- a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import javax.jms.ConnectionFactory; -import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jms.annotation.EnableJms; -import org.springframework.jms.config.DefaultJmsListenerContainerFactory; -import org.springframework.jms.config.JmsListenerContainerFactory; -import org.springframework.jms.support.converter.MappingJackson2MessageConverter; -import org.springframework.jms.support.converter.MessageConverter; -import org.springframework.jms.support.converter.MessageType; - -@Configuration -@EnableJms -public class JmsConfig { - - @Bean - public JmsListenerContainerFactory myFactory( - ConnectionFactory connectionFactory, - DefaultJmsListenerContainerFactoryConfigurer configurer) { - DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); - configurer.configure(factory, connectionFactory); - return factory; - } - - @Bean - public MessageConverter jacksonJmsMessageConverter() { - MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(); - converter.setTargetType(MessageType.TEXT); - converter.setTypeIdPropertyName("_type"); - return converter; - } -} diff --git a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java b/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 52048a03..00000000 --- a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Product { - - private Long id; - - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 16936341..00000000 --- a/examples/jms/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.jms.core.JmsTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final JmsTemplate jmsTemplate; - - public StockController(JmsTemplate jmsTemplate) { - this.jmsTemplate = jmsTemplate; - } - - @GetMapping("/stock") - public String getStock() { - jmsTemplate.convertAndSend("jms_destination", new Product()); - return "Stock sent"; - } -} diff --git a/examples/jms/spring-boot-non-reactive-2/src/main/resources/application.yaml b/examples/jms/spring-boot-non-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 3c6d50a7..00000000 --- a/examples/jms/spring-boot-non-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - activemq: - broker-url: tcp://activemq:61616 diff --git a/examples/jms/spring-boot-non-reactive-3/.tool-versions b/examples/jms/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jms/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jms/spring-boot-non-reactive-3/build.gradle b/examples/jms/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index 9f93e810..00000000 --- a/examples/jms/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-activemq' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jms/spring-boot-non-reactive-3/oats.yaml b/examples/jms/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jms/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jms/spring-boot-non-reactive-3/run.sh b/examples/jms/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jms/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jms/spring-boot-non-reactive-3/settings.gradle b/examples/jms/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/jms/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java b/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java deleted file mode 100644 index 5ca04c15..00000000 --- a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import jakarta.jms.ConnectionFactory; -import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jms.annotation.EnableJms; -import org.springframework.jms.config.DefaultJmsListenerContainerFactory; -import org.springframework.jms.config.JmsListenerContainerFactory; -import org.springframework.jms.support.converter.MappingJackson2MessageConverter; -import org.springframework.jms.support.converter.MessageConverter; -import org.springframework.jms.support.converter.MessageType; - -@Configuration -@EnableJms -public class JmsConfig { - - @Bean - public JmsListenerContainerFactory myFactory( - ConnectionFactory connectionFactory, - DefaultJmsListenerContainerFactoryConfigurer configurer) { - DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); - configurer.configure(factory, connectionFactory); - return factory; - } - - @Bean - public MessageConverter jacksonJmsMessageConverter() { - MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(); - converter.setTargetType(MessageType.TEXT); - converter.setTypeIdPropertyName("_type"); - return converter; - } -} diff --git a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java b/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 52048a03..00000000 --- a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Product { - - private Long id; - - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 2e1cd044..00000000 --- a/examples/jms/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.jms.core.JmsTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final JmsTemplate jmsTemplate; - - public StockController(JmsTemplate jmsTemplate) { - this.jmsTemplate = jmsTemplate; - } - - @GetMapping("/stock") - public String getStock() { - jmsTemplate.convertAndSend("jms_destination", new Product()); - return "Stock updated"; - } -} diff --git a/examples/jms/spring-boot-non-reactive-3/src/main/resources/application.yaml b/examples/jms/spring-boot-non-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index 3c6d50a7..00000000 --- a/examples/jms/spring-boot-non-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - activemq: - broker-url: tcp://activemq:61616 diff --git a/examples/jms/spring-boot-reactive-2/.tool-versions b/examples/jms/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/jms/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/jms/spring-boot-reactive-2/build.gradle b/examples/jms/spring-boot-reactive-2/build.gradle deleted file mode 100644 index b39d8593..00000000 --- a/examples/jms/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-activemq' - implementation 'org.springframework.boot:spring-boot-starter-webflux' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jms/spring-boot-reactive-2/oats.yaml b/examples/jms/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jms/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jms/spring-boot-reactive-2/run.sh b/examples/jms/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jms/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jms/spring-boot-reactive-2/settings.gradle b/examples/jms/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/jms/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java b/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java deleted file mode 100644 index 13695f08..00000000 --- a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/JmsConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import javax.jms.ConnectionFactory; -import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jms.annotation.EnableJms; -import org.springframework.jms.config.DefaultJmsListenerContainerFactory; -import org.springframework.jms.config.JmsListenerContainerFactory; -import org.springframework.jms.support.converter.MappingJackson2MessageConverter; -import org.springframework.jms.support.converter.MessageConverter; -import org.springframework.jms.support.converter.MessageType; - -@Configuration -@EnableJms -public class JmsConfig { - - @Bean - public JmsListenerContainerFactory myFactory( - ConnectionFactory connectionFactory, - DefaultJmsListenerContainerFactoryConfigurer configurer) { - DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); - configurer.configure(factory, connectionFactory); - return factory; - } - - @Bean - public MessageConverter jacksonJmsMessageConverter() { - MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(); - converter.setTargetType(MessageType.TEXT); - converter.setTypeIdPropertyName("_type"); - return converter; - } -} diff --git a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java b/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 52048a03..00000000 --- a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Product { - - private Long id; - - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1407ef9e..00000000 --- a/examples/jms/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.jms.core.JmsTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - - private final JmsTemplate jmsTemplate; - - public StockController(JmsTemplate jmsTemplate) { - this.jmsTemplate = jmsTemplate; - } - - @GetMapping("/stock") - public Mono getStock() { - jmsTemplate.convertAndSend("jms_destination", new Product()); - return Mono.just("Stock updated"); - } -} diff --git a/examples/jms/spring-boot-reactive-2/src/main/resources/application.yaml b/examples/jms/spring-boot-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 3c6d50a7..00000000 --- a/examples/jms/spring-boot-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - activemq: - broker-url: tcp://activemq:61616 diff --git a/examples/jms/spring-boot-reactive-3/.tool-versions b/examples/jms/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/jms/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/jms/spring-boot-reactive-3/build.gradle b/examples/jms/spring-boot-reactive-3/build.gradle deleted file mode 100644 index 92f73c6c..00000000 --- a/examples/jms/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-activemq' - implementation 'org.springframework.boot:spring-boot-starter-webflux' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/jms/spring-boot-reactive-3/oats.yaml b/examples/jms/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/jms/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/jms/spring-boot-reactive-3/run.sh b/examples/jms/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/jms/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/jms/spring-boot-reactive-3/settings.gradle b/examples/jms/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/jms/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java b/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java deleted file mode 100644 index 5ca04c15..00000000 --- a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/JmsConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import jakarta.jms.ConnectionFactory; -import org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jms.annotation.EnableJms; -import org.springframework.jms.config.DefaultJmsListenerContainerFactory; -import org.springframework.jms.config.JmsListenerContainerFactory; -import org.springframework.jms.support.converter.MappingJackson2MessageConverter; -import org.springframework.jms.support.converter.MessageConverter; -import org.springframework.jms.support.converter.MessageType; - -@Configuration -@EnableJms -public class JmsConfig { - - @Bean - public JmsListenerContainerFactory myFactory( - ConnectionFactory connectionFactory, - DefaultJmsListenerContainerFactoryConfigurer configurer) { - DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory(); - configurer.configure(factory, connectionFactory); - return factory; - } - - @Bean - public MessageConverter jacksonJmsMessageConverter() { - MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter(); - converter.setTargetType(MessageType.TEXT); - converter.setTypeIdPropertyName("_type"); - return converter; - } -} diff --git a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java b/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java deleted file mode 100644 index 52048a03..00000000 --- a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/Product.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Product { - - private Long id; - - private String name; - - public Product(Long id, String name) { - this.id = id; - this.name = name; - } - - public Product() {} - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "Product{" + "id=" + id + ", name='" + name + '\'' + '}'; - } -} diff --git a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1407ef9e..00000000 --- a/examples/jms/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.jms.core.JmsTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - - private final JmsTemplate jmsTemplate; - - public StockController(JmsTemplate jmsTemplate) { - this.jmsTemplate = jmsTemplate; - } - - @GetMapping("/stock") - public Mono getStock() { - jmsTemplate.convertAndSend("jms_destination", new Product()); - return Mono.just("Stock updated"); - } -} diff --git a/examples/jms/spring-boot-reactive-3/src/main/resources/application.yaml b/examples/jms/spring-boot-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index 3c6d50a7..00000000 --- a/examples/jms/spring-boot-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - activemq: - broker-url: tcp://activemq:61616 diff --git a/examples/kafka/README.md b/examples/kafka/README.md deleted file mode 100644 index 88a560b4..00000000 --- a/examples/kafka/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for Kafka clients. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/kafka/docker-compose.yaml b/examples/kafka/docker-compose.yaml deleted file mode 100644 index dcfe95c1..00000000 --- a/examples/kafka/docker-compose.yaml +++ /dev/null @@ -1,37 +0,0 @@ -version: '3.9' - -x-default-logging: &logging - driver: "json-file" - options: - max-size: "5m" - max-file: "2" - -services: - kafka: - image: grafana-otel-java:0.1-kafka - build: - context: ./ - dockerfile: ./kafka/Dockerfile - cache_from: - - grafana-otel-java:0.1-kafka - deploy: - resources: - limits: - memory: 500M - restart: unless-stopped - environment: - - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - - OTEL_EXPORTER_OTLP_ENDPOINT - - OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE - - OTEL_RESOURCE_ATTRIBUTES - - OTEL_SERVICE_NAME=kafka - - KAFKA_HEAP_OPTS=-Xmx200m -Xms200m - healthcheck: - test: nc -z kafka 9092 - start_period: 10s - interval: 5s - timeout: 10s - retries: 10 - logging: *logging -# ports: -# - "9092:9092" diff --git a/examples/kafka/kafka/Dockerfile b/examples/kafka/kafka/Dockerfile deleted file mode 100644 index ce8e8273..00000000 --- a/examples/kafka/kafka/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -# Copyright The OpenTelemetry Authors -# SPDX-License-Identifier: Apache-2.0 - - -FROM confluentinc/cp-kafka:latest-ubi8 - -USER root -ARG version=1.23.0 -ADD https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v$version/opentelemetry-javaagent.jar /tmp/opentelemetry-javaagent.jar -RUN chmod go+r /tmp/opentelemetry-javaagent.jar - -USER appuser - -ENV KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 -ENV KAFKA_CONTROLLER_QUORUM_VOTERS='1@0.0.0.0:9093' -ENV KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER -ENV KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT -ENV KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 -ENV KAFKA_PROCESS_ROLES=controller,broker -ENV KAFKA_NODE_ID=1 -ENV KAFKA_METADATA_LOG_SEGMENT_MS=15000 -ENV KAFKA_METADATA_MAX_RETENTION_MS=60000 -ENV KAFKA_METADATA_LOG_MAX_RECORD_BYTES_BETWEEN_SNAPSHOTS=2800 -ENV KAFKA_AUTO_CREATE_TOPICS_ENABLE=true -ENV KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 -ENV KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 -ENV KAFKA_OPTS="-javaagent:/tmp/opentelemetry-javaagent.jar -Dotel.jmx.target.system=kafka-broker" -ENV CLUSTER_ID=ckjPoprWQzOf0-FuNkGfFQ diff --git a/examples/kafka/kafka/README.md b/examples/kafka/kafka/README.md deleted file mode 100644 index 15d3d67d..00000000 --- a/examples/kafka/kafka/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Kafka - -This is used as a message queue service to connect the checkout service with -the accounting and fraud detection services. - -Kafka is run in KRaft mode. Environment variables are substituted at -deploy-time. diff --git a/examples/kafka/oats-template.yaml b/examples/kafka/oats-template.yaml deleted file mode 100644 index 54327143..00000000 --- a/examples/kafka/oats-template.yaml +++ /dev/null @@ -1,19 +0,0 @@ -docker-compose: - generator: java - files: - - ../docker-compose.yaml - resources: - - kafka -input: - - path: /stock -expected: - traces: - - traceql: '{ name = "kafkaTopic publish"}' - spans: - - name: 'kafkaTopic publish' - attributes: - messaging.system: kafka - metrics: - # this isn't better than using the error rate of the client spans - but maybe this is exactly enough - - promql: 'sum(rate(kafka_producer_record_error_total[5m]))' - value: "== 0" diff --git a/examples/kafka/spring-boot-non-reactive-2/.tool-versions b/examples/kafka/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/kafka/spring-boot-non-reactive-2/build.gradle b/examples/kafka/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index f75110ce..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.kafka:spring-kafka' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/kafka/spring-boot-non-reactive-2/oats.yaml b/examples/kafka/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/kafka/spring-boot-non-reactive-2/run.sh b/examples/kafka/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/kafka/spring-boot-non-reactive-2/settings.gradle b/examples/kafka/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java b/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java deleted file mode 100644 index f7cfc14b..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.apache.kafka.clients.admin.NewTopic; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.kafka.config.TopicBuilder; - -@Configuration -public class KafkaConfig { - - @Bean - public NewTopic topic() { - return TopicBuilder.name("kafkaTopic").partitions(1).replicas(1).build(); - } -} diff --git a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1bf7ec98..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final KafkaTemplate kafkaTemplate; - - public StockController(KafkaTemplate kafkaTemplate) { - this.kafkaTemplate = kafkaTemplate; - } - - @GetMapping("/stock") - public String getStock() { - kafkaTemplate.send("kafkaTopic", "test"); - return "Stock updated"; - } -} diff --git a/examples/kafka/spring-boot-non-reactive-2/src/main/resources/application.yaml b/examples/kafka/spring-boot-non-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 11c060d2..00000000 --- a/examples/kafka/spring-boot-non-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,6 +0,0 @@ -spring: - kafka: - bootstrap-servers: kafka:9092 - producer: - bootstrap-servers: kafka:9092 - diff --git a/examples/kafka/spring-boot-non-reactive-3/.tool-versions b/examples/kafka/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/kafka/spring-boot-non-reactive-3/build.gradle b/examples/kafka/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index 3c1e3ad4..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.kafka:spring-kafka' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/kafka/spring-boot-non-reactive-3/oats.yaml b/examples/kafka/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/kafka/spring-boot-non-reactive-3/run.sh b/examples/kafka/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/kafka/spring-boot-non-reactive-3/settings.gradle b/examples/kafka/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java b/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java deleted file mode 100644 index b6204dcb..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.apache.kafka.clients.admin.NewTopic; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.kafka.config.TopicBuilder; - -@Configuration -public class KafkaConfig { - - @Bean - public NewTopic topic() { - return TopicBuilder.name("kafkaTopic").partitions(10).replicas(1).build(); - } -} diff --git a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1bf7ec98..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final KafkaTemplate kafkaTemplate; - - public StockController(KafkaTemplate kafkaTemplate) { - this.kafkaTemplate = kafkaTemplate; - } - - @GetMapping("/stock") - public String getStock() { - kafkaTemplate.send("kafkaTopic", "test"); - return "Stock updated"; - } -} diff --git a/examples/kafka/spring-boot-non-reactive-3/src/main/resources/application.yaml b/examples/kafka/spring-boot-non-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index 11c060d2..00000000 --- a/examples/kafka/spring-boot-non-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,6 +0,0 @@ -spring: - kafka: - bootstrap-servers: kafka:9092 - producer: - bootstrap-servers: kafka:9092 - diff --git a/examples/kafka/spring-boot-reactive-2/.tool-versions b/examples/kafka/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/kafka/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/kafka/spring-boot-reactive-2/build.gradle b/examples/kafka/spring-boot-reactive-2/build.gradle deleted file mode 100644 index c7519049..00000000 --- a/examples/kafka/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.kafka:spring-kafka' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/kafka/spring-boot-reactive-2/oats.yaml b/examples/kafka/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/kafka/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/kafka/spring-boot-reactive-2/run.sh b/examples/kafka/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/kafka/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/kafka/spring-boot-reactive-2/settings.gradle b/examples/kafka/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/kafka/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java b/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java deleted file mode 100644 index b6204dcb..00000000 --- a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/KafkaConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.apache.kafka.clients.admin.NewTopic; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.kafka.config.TopicBuilder; - -@Configuration -public class KafkaConfig { - - @Bean - public NewTopic topic() { - return TopicBuilder.name("kafkaTopic").partitions(10).replicas(1).build(); - } -} diff --git a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1bf7ec98..00000000 --- a/examples/kafka/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final KafkaTemplate kafkaTemplate; - - public StockController(KafkaTemplate kafkaTemplate) { - this.kafkaTemplate = kafkaTemplate; - } - - @GetMapping("/stock") - public String getStock() { - kafkaTemplate.send("kafkaTopic", "test"); - return "Stock updated"; - } -} diff --git a/examples/kafka/spring-boot-reactive-2/src/main/resources/application.yaml b/examples/kafka/spring-boot-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 11c060d2..00000000 --- a/examples/kafka/spring-boot-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,6 +0,0 @@ -spring: - kafka: - bootstrap-servers: kafka:9092 - producer: - bootstrap-servers: kafka:9092 - diff --git a/examples/kafka/spring-boot-reactive-3/.tool-versions b/examples/kafka/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/kafka/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/kafka/spring-boot-reactive-3/build.gradle b/examples/kafka/spring-boot-reactive-3/build.gradle deleted file mode 100644 index f08e51c0..00000000 --- a/examples/kafka/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.kafka:spring-kafka' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/kafka/spring-boot-reactive-3/oats.yaml b/examples/kafka/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/kafka/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/kafka/spring-boot-reactive-3/run.sh b/examples/kafka/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/kafka/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/kafka/spring-boot-reactive-3/settings.gradle b/examples/kafka/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/kafka/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java b/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java deleted file mode 100644 index b6204dcb..00000000 --- a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/KafkaConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.apache.kafka.clients.admin.NewTopic; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.kafka.config.TopicBuilder; - -@Configuration -public class KafkaConfig { - - @Bean - public NewTopic topic() { - return TopicBuilder.name("kafkaTopic").partitions(10).replicas(1).build(); - } -} diff --git a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 1bf7ec98..00000000 --- a/examples/kafka/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.kafka.core.KafkaTemplate; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final KafkaTemplate kafkaTemplate; - - public StockController(KafkaTemplate kafkaTemplate) { - this.kafkaTemplate = kafkaTemplate; - } - - @GetMapping("/stock") - public String getStock() { - kafkaTemplate.send("kafkaTopic", "test"); - return "Stock updated"; - } -} diff --git a/examples/kafka/spring-boot-reactive-3/src/main/resources/application.yaml b/examples/kafka/spring-boot-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index 11c060d2..00000000 --- a/examples/kafka/spring-boot-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,6 +0,0 @@ -spring: - kafka: - bootstrap-servers: kafka:9092 - producer: - bootstrap-servers: kafka:9092 - diff --git a/examples/log4j/README.md b/examples/log4j/README.md deleted file mode 100644 index 54b79ebd..00000000 --- a/examples/log4j/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for using Log4j instead of Slf4j. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/log4j/oats-template.yaml b/examples/log4j/oats-template.yaml deleted file mode 100644 index 576b705d..00000000 --- a/examples/log4j/oats-template.yaml +++ /dev/null @@ -1,10 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - logs: - - logql: '{service_name="app"}' - # the instrumentation scope contains the logger name, not "log4j" so we cannot assert that log4j was actually used - contains: - - 'hello LGTM' diff --git a/examples/log4j/spring-boot-non-reactive-2/.tool-versions b/examples/log4j/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/log4j/spring-boot-non-reactive-2/build.gradle b/examples/log4j/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index fa0ce570..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation "org.springframework.boot:spring-boot-starter-log4j2" - implementation 'org.springframework.boot:spring-boot-starter-web' -} - -configurations { - all*.exclude module: 'spring-boot-starter-logging' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/log4j/spring-boot-non-reactive-2/oats.yaml b/examples/log4j/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/log4j/spring-boot-non-reactive-2/run.sh b/examples/log4j/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/log4j/spring-boot-non-reactive-2/settings.gradle b/examples/log4j/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 71c269e5..00000000 --- a/examples/log4j/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private static final Logger LOG = LoggerFactory.getLogger(StockController.class); - - @GetMapping("/stock") - public String getStock() { - LOG.info("hello LGTM"); - return "hello LGTM"; - } -} diff --git a/examples/log4j/spring-boot-non-reactive-3/.tool-versions b/examples/log4j/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/log4j/spring-boot-non-reactive-3/build.gradle b/examples/log4j/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index ca06dba5..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation "org.springframework.boot:spring-boot-starter-log4j2" - implementation 'org.springframework.boot:spring-boot-starter-web' -} - -configurations { - all*.exclude module: 'spring-boot-starter-logging' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/log4j/spring-boot-non-reactive-3/oats.yaml b/examples/log4j/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/log4j/spring-boot-non-reactive-3/run.sh b/examples/log4j/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/log4j/spring-boot-non-reactive-3/settings.gradle b/examples/log4j/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 71c269e5..00000000 --- a/examples/log4j/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private static final Logger LOG = LoggerFactory.getLogger(StockController.class); - - @GetMapping("/stock") - public String getStock() { - LOG.info("hello LGTM"); - return "hello LGTM"; - } -} diff --git a/examples/logback/README.md b/examples/logback/README.md deleted file mode 100644 index 9ef448fe..00000000 --- a/examples/logback/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for using Slf4j with Logback. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/logback/oats-template.yaml b/examples/logback/oats-template.yaml deleted file mode 100644 index 576b705d..00000000 --- a/examples/logback/oats-template.yaml +++ /dev/null @@ -1,10 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - logs: - - logql: '{service_name="app"}' - # the instrumentation scope contains the logger name, not "log4j" so we cannot assert that log4j was actually used - contains: - - 'hello LGTM' diff --git a/examples/logback/spring-boot-non-reactive-2/.tool-versions b/examples/logback/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/logback/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/logback/spring-boot-non-reactive-2/build.gradle b/examples/logback/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 31591239..00000000 --- a/examples/logback/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,24 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/logback/spring-boot-non-reactive-2/oats.yaml b/examples/logback/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/logback/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/logback/spring-boot-non-reactive-2/run.sh b/examples/logback/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/logback/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/logback/spring-boot-non-reactive-2/settings.gradle b/examples/logback/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/logback/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 71c269e5..00000000 --- a/examples/logback/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private static final Logger LOG = LoggerFactory.getLogger(StockController.class); - - @GetMapping("/stock") - public String getStock() { - LOG.info("hello LGTM"); - return "hello LGTM"; - } -} diff --git a/examples/logback/spring-boot-non-reactive-3/.tool-versions b/examples/logback/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/logback/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/logback/spring-boot-non-reactive-3/build.gradle b/examples/logback/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index c3741c3c..00000000 --- a/examples/logback/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/logback/spring-boot-non-reactive-3/oats.yaml b/examples/logback/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/logback/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/logback/spring-boot-non-reactive-3/run.sh b/examples/logback/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/logback/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/logback/spring-boot-non-reactive-3/settings.gradle b/examples/logback/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/logback/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 71c269e5..00000000 --- a/examples/logback/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private static final Logger LOG = LoggerFactory.getLogger(StockController.class); - - @GetMapping("/stock") - public String getStock() { - LOG.info("hello LGTM"); - return "hello LGTM"; - } -} diff --git a/examples/manual/README.md b/examples/manual/README.md deleted file mode 100644 index 9ef448fe..00000000 --- a/examples/manual/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for using Slf4j with Logback. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/manual/jvm-dashboard-old.json b/examples/manual/jvm-dashboard-old.json deleted file mode 100644 index e3d09412..00000000 --- a/examples/manual/jvm-dashboard-old.json +++ /dev/null @@ -1,678 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_GRAFANACLOUD-GREGORZEITLINGER-PROM", - "label": "grafanacloud-gregorzeitlinger-prom", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": {}, - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "10.3.0-63606" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Dashboard for JVM metrics with OpenTelemetry instrumentation", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 18812, - "graphTooltip": 0, - "id": null, - "links": [ - { - "asDropdown": false, - "icon": "info", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": false, - "title": "Semantic Conventions: 1.20.0", - "tooltip": "", - "type": "link", - "url": "https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.20.0" - } - ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "CPU utilization for the whole system", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 30, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 0, - "y": 0 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "process_runtime_jvm_system_cpu_utilization{job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "CPU utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "How much of the available heap memory is used", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 7, - "y": 0 - }, - "id": 30, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "sum by (instance) (process_runtime_jvm_memory_usage{job=~\"$job\",type=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) (process_runtime_jvm_memory_limit{job=~\"$job\",type=\"heap\", instance=~\"$instance\"})", - "legendFormat": "{{instance}} - used", - "range": true, - "refId": "A" - } - ], - "title": "Heap Memory Utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "Percentage of time spend for garbage collection pauses", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 30, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 4, - "x": 0, - "y": 7 - }, - "id": 46, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "sum by(instance) (rate(process_runtime_jvm_gc_duration_sum{job=~\"$job\", instance=~\"$instance\"}[1m]))", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - } - ], - "title": "Garbage Collection", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "Number of currently loaded classes", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 5, - "x": 4, - "y": 7 - }, - "id": 33, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "process_runtime_jvm_classes_current_loaded{job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "Classes", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "description": "Number of currently executing (also called \"live\") threads", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 30, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 5, - "x": 9, - "y": 7 - }, - "id": 42, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "editorMode": "code", - "expr": "sum(process_runtime_jvm_threads_count{job=~\"$job\", instance=~\"$instance\"}) by (instance)", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "Threads", - "type": "timeseries" - } - ], - "refresh": "", - "schemaVersion": 39, - "tags": [ - "JVM", - "open-telemetry", - "Java", - "otel", - "opentelemetry", - "otlp" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "default", - "value": "default" - }, - "description": "Choose a Prometheus data source", - "hide": 0, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage,job)", - "hide": 0, - "includeAll": true, - "label": "Job", - "multi": true, - "name": "job", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage,job)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_GRAFANACLOUD-GREGORZEITLINGER-PROM}" - }, - "definition": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "description": "The instance of the application, e.g. pod1", - "hide": 0, - "includeAll": true, - "label": "Instance", - "multi": true, - "name": "instance", - "options": [], - "query": { - "query": "label_values(process_runtime_jvm_memory_usage{job=~\"$job\"},instance)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "JVM Overview (OpenTelemetry)", - "uid": "8Z6ACMK41", - "version": 2, - "weekStart": "" -} diff --git a/examples/manual/jvm-dashboard.json b/examples/manual/jvm-dashboard.json deleted file mode 100644 index b5075b27..00000000 --- a/examples/manual/jvm-dashboard.json +++ /dev/null @@ -1,954 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_PROMETHEUS", - "label": "Prometheus", - "description": "", - "type": "datasource", - "pluginId": "prometheus", - "pluginName": "Prometheus" - } - ], - "__elements": {}, - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "10.0.5" - }, - { - "type": "datasource", - "id": "prometheus", - "name": "Prometheus", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "timeseries", - "name": "Time series", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "datasource", - "uid": "grafana" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "target": { - "limit": 100, - "matchAny": false, - "tags": [], - "type": "dashboard" - }, - "type": "dashboard" - } - ] - }, - "description": "Dashboard for JVM metrics with OpenTelemetry instrumentation", - "editable": true, - "fiscalYearStartMonth": 0, - "gnetId": 18812, - "graphTooltip": 0, - "id": null, - "links": [ - { - "asDropdown": false, - "icon": "info", - "includeVars": false, - "keepTime": false, - "tags": [], - "targetBlank": false, - "title": "Semantic Conventions: 1.20.0 - 1.22.0", - "tooltip": "multiple versions of the semantic conventions are supported using 'or' and regex queries", - "type": "link", - "url": "https://github.com/open-telemetry/semantic-conventions/blob/main/schemas/1.20.0" - } - ], - "liveNow": false, - "panels": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "HTTP server request rate", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "reqps" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 4, - "x": 0, - "y": 0 - }, - "id": 51, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "sum by (instance) (rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count|http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Rate", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "HTTP server error ratio - ratio of requests that return 5xx", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 5, - "x": 4, - "y": 0 - }, - "id": 50, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "(sum by (instance)(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count\", job=~\"$job\", instance=~\"$instance\", http_response_status_code=~\"5.*\"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate({__name__=~\"http_server_request_duration_seconds_count|http_server_request_duration_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))) or (sum by (instance)(rate({__name__=~\"http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\", http_status_code=~\"5.*\"}[$__rate_interval]))) / on (instance) (sum by (instance)(rate({__name__=~\"http_server_duration_milliseconds_count|http_server_duration_seconds_count|http_server_duration_count\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval])))\n", - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A" - } - ], - "title": "Error %", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "HTTP server request duration", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "s" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 5, - "x": 9, - "y": 0 - }, - "id": 52, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "(histogram_quantile(0.95, sum by(le, instance) (rate({__name__=~\"http_server_request_duration_seconds_bucket|http_server_request_duration_bucket|http_server_duration_milliseconds_bucket|http_server_duration_seconds_bucket|http_server_duration_bucket\", job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))))", - "instant": false, - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "Duration", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "CPU utilization for the whole system", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 0, - "y": 8 - }, - "id": 38, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "{__name__=~\"jvm_cpu_recent_utilization|jvm_cpu_recent_utilization_ratio|process_runtime_jvm_system_cpu_utilization|process_runtime_jvm_system_cpu_utilization_ratio\", job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "CPU utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "Used heap memory / heap memory limit ", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 7, - "x": 7, - "y": 8 - }, - "id": 30, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "(sum by (instance) ({__name__=~\"jvm_memory_used|jvm_memory_used_bytes\",job=~\"$job\",jvm_memory_type=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) ({__name__=~\"jvm_memory_limit|jvm_memory_limit_bytes\",job=~\"$job\",jvm_memory_type=\"heap\", instance=~\"$instance\"})) or (sum by (instance) ({__name__=~\"process_runtime_jvm_memory_usage|process_runtime_jvm_memory_usage_bytes\",job=~\"$job\",type=\"heap\", instance=~\"$instance\"}) / on(instance) sum by (instance) ({__name__=~\"process_runtime_jvm_memory_limit|process_runtime_jvm_memory_limit_bytes\",job=~\"$job\",type=\"heap\", instance=~\"$instance\"}))", - "legendFormat": "{{instance}} - used", - "range": true, - "refId": "A" - } - ], - "title": "Heap Memory Utilization", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "Percentage of time spend for garbage collection pauses", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percentunit" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 4, - "x": 0, - "y": 15 - }, - "id": 46, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "sum by(instance) (rate({__name__=~\"jvm_gc_duration_sum|jvm_gc_duration_seconds_sum|process_runtime_jvm_gc_duration_sum|process_runtime_jvm_gc_duration_seconds_sum\",job=~\"$job\", instance=~\"$instance\"}[$__rate_interval]))", - "hide": false, - "legendFormat": "__auto", - "range": true, - "refId": "B" - } - ], - "title": "Garbage Collection", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "Number of currently loaded classes", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 5, - "x": 4, - "y": 15 - }, - "id": 33, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "{__name__=~\"jvm_class_count|process_runtime_jvm_classes_current_loaded\",job=~\"$job\", instance=~\"$instance\"}", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "Classes", - "type": "timeseries" - }, - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "description": "Number of currently executing (also called \"live\") threads", - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "drawStyle": "line", - "fillOpacity": 25, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 5, - "x": 9, - "y": 15 - }, - "id": 42, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "editorMode": "code", - "expr": "sum({__name__=~\"jvm_thread_count|process_runtime_jvm_threads_count\",job=~\"$job\", instance=~\"$instance\"}) by (instance)", - "legendFormat": "{{instance}}", - "range": true, - "refId": "A" - } - ], - "title": "Threads", - "type": "timeseries" - } - ], - "refresh": "", - "schemaVersion": 38, - "style": "dark", - "tags": [ - "JVM", - "open-telemetry", - "Java", - "otel", - "opentelemetry", - "otlp" - ], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "Prometheus", - "value": "Prometheus" - }, - "description": "Choose a Prometheus data source", - "hide": 0, - "includeAll": false, - "label": "Data source", - "multi": false, - "name": "datasource", - "options": [], - "query": "prometheus", - "queryValue": "", - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "type": "datasource" - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded)\"},job)", - "hide": 0, - "includeAll": true, - "label": "Job", - "multi": true, - "name": "job", - "options": [], - "query": { - "query": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded)\"},job)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": ".+", - "current": {}, - "datasource": { - "type": "prometheus", - "uid": "${DS_PROMETHEUS}" - }, - "definition": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded)\", job=~\"$job\"},instance)", - "description": "The instance of the application, e.g. pod1", - "hide": 0, - "includeAll": true, - "label": "Instance", - "multi": true, - "name": "instance", - "options": [], - "query": { - "query": "label_values({__name__=~\"(jvm_class_count|process_runtime_jvm_classes_current_loaded)\", job=~\"$job\"},instance)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 1, - "tagValuesQuery": "", - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "", - "title": "JVM Overview (OpenTelemetry)", - "uid": "b91844d7-121e-4d0a-93b8-a9c1a05703b3", - "version": 1, - "weekStart": "" -} diff --git a/examples/manual/oats-template.yaml b/examples/manual/oats-template.yaml deleted file mode 100644 index 4b673ef8..00000000 --- a/examples/manual/oats-template.yaml +++ /dev/null @@ -1,41 +0,0 @@ -matrix: - - name: data-saver-on - docker-compose: - generator: java - - name: data-saver-off - docker-compose: - generator: java - java-generator-params: - disable-data-saver: true -input: - - path: /stock -expected: - traces: - - traceql: '{ name = "get_cart" }' # created by @WithSpan - spans: - - name: 'get_cart' - metrics: - - promql: 'cart_client_total{}' # created programmatically - value: '>= 0' - dashboards: - - path: ../jvm-dashboard.json - panels: - - title: Rate - value: "> 0" - matrix-condition: "data-saver-off" - - title: Error % - value: "> 0" - matrix-condition: "data-saver-off" - - title: Duration - value: "> 0" - matrix-condition: "data-saver-off" - - title: CPU utilization - value: ">= 0" - - title: Heap Memory Utilization - value: "> 0" - - title: Garbage Collection - value: ">= 0" - - title: Classes - value: "> 0" - - title: Threads - value: "> 0" diff --git a/examples/manual/spring-boot-non-reactive-2/.tool-versions b/examples/manual/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/manual/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/manual/spring-boot-non-reactive-2/build.gradle b/examples/manual/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 576ec0cd..00000000 --- a/examples/manual/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation('io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:2.9.0') - implementation('io.opentelemetry:opentelemetry-api:1.43.0') -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/manual/spring-boot-non-reactive-2/oats.yaml b/examples/manual/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/manual/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/manual/spring-boot-non-reactive-2/run.sh b/examples/manual/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/manual/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/manual/spring-boot-non-reactive-2/settings.gradle b/examples/manual/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/manual/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CartClient.java b/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CartClient.java deleted file mode 100644 index 9f9e2fb2..00000000 --- a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CartClient.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import io.opentelemetry.api.GlobalOpenTelemetry; -import io.opentelemetry.api.metrics.LongCounter; -import io.opentelemetry.instrumentation.annotations.WithSpan; -import java.util.Random; -import org.springframework.stereotype.Service; - -@Service -public class CartClient { - - private final Random random = new Random(); - - private final LongCounter counter = - GlobalOpenTelemetry.get().getMeter("application").counterBuilder("cart_client").build(); - - @WithSpan("get_cart") - public String getCart() { - counter.add(1); - if (random.nextBoolean()) { - throw new RuntimeException("Failed to get cart"); - } - return "cart"; - } -} diff --git a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index dc515a07..00000000 --- a/examples/manual/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final CartClient cartClient; - - public StockController(CartClient cartClient) { - this.cartClient = cartClient; - } - - @GetMapping("/stock") - public String getStock() { - return cartClient.getCart(); - } -} diff --git a/examples/manual/spring-boot-non-reactive-3/.tool-versions b/examples/manual/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/manual/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/manual/spring-boot-non-reactive-3/build.gradle b/examples/manual/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index b205b667..00000000 --- a/examples/manual/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation('io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations:2.9.0') - implementation('io.opentelemetry:opentelemetry-api:1.43.0') -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/manual/spring-boot-non-reactive-3/oats.yaml b/examples/manual/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/manual/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/manual/spring-boot-non-reactive-3/run.sh b/examples/manual/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/manual/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/manual/spring-boot-non-reactive-3/settings.gradle b/examples/manual/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/manual/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CartClient.java b/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CartClient.java deleted file mode 100644 index 9f9e2fb2..00000000 --- a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CartClient.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import io.opentelemetry.api.GlobalOpenTelemetry; -import io.opentelemetry.api.metrics.LongCounter; -import io.opentelemetry.instrumentation.annotations.WithSpan; -import java.util.Random; -import org.springframework.stereotype.Service; - -@Service -public class CartClient { - - private final Random random = new Random(); - - private final LongCounter counter = - GlobalOpenTelemetry.get().getMeter("application").counterBuilder("cart_client").build(); - - @WithSpan("get_cart") - public String getCart() { - counter.add(1); - if (random.nextBoolean()) { - throw new RuntimeException("Failed to get cart"); - } - return "cart"; - } -} diff --git a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index dc515a07..00000000 --- a/examples/manual/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final CartClient cartClient; - - public StockController(CartClient cartClient) { - this.cartClient = cartClient; - } - - @GetMapping("/stock") - public String getStock() { - return cartClient.getCart(); - } -} diff --git a/examples/mongodb/README.md b/examples/mongodb/README.md deleted file mode 100644 index 85e42414..00000000 --- a/examples/mongodb/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for Mongo DB clients. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/mongodb/docker-compose.yaml b/examples/mongodb/docker-compose.yaml deleted file mode 100644 index 36f25a39..00000000 --- a/examples/mongodb/docker-compose.yaml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.9' - -services: - mongodb: - image: mongo:6-jammy -# ports: -# - '27017:27017' - volumes: - - dbdata6:/data/db -volumes: - dbdata6: diff --git a/examples/mongodb/oats-template.yaml b/examples/mongodb/oats-template.yaml deleted file mode 100644 index 5615bf00..00000000 --- a/examples/mongodb/oats-template.yaml +++ /dev/null @@ -1,13 +0,0 @@ -docker-compose: - generator: java - files: - - ../docker-compose.yaml -input: - - path: /stock -expected: - metrics: - # https://github.com/micrometer-metrics/micrometer/blob/main/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/mongodb/MongoMetricsConnectionPoolListener.java - - promql: mongodb_driver_pool_waitqueuesize{} - value: '== 0' - - promql: mongodb_driver_pool_checkedout{} - value: '>= 0' diff --git a/examples/mongodb/spring-boot-non-reactive-2/.tool-versions b/examples/mongodb/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/mongodb/spring-boot-non-reactive-2/build.gradle b/examples/mongodb/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index c956ceae..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-2/oats.yaml b/examples/mongodb/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/mongodb/spring-boot-non-reactive-2/run.sh b/examples/mongodb/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/mongodb/spring-boot-non-reactive-2/settings.gradle b/examples/mongodb/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Customer.java b/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Customer.java deleted file mode 100644 index 191a649a..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/Customer.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.annotation.Id; - -public class Customer { - - @Id public String id; - - public String firstName; - public String lastName; - - public Customer() {} - - public Customer(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - @Override - public String toString() { - return String.format("Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java b/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java deleted file mode 100644 index cd784729..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.mongodb.repository.MongoRepository; - -public interface CustomerMongoRepository extends MongoRepository { - - Customer findByFirstName(String firstName); -} diff --git a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index a4dd4c07..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final CustomerMongoRepository repository; - - public StockController(CustomerMongoRepository repository) { - this.repository = repository; - } - - @GetMapping("/stock") - public String getStock() { - return String.valueOf(repository.findByFirstName("LGTM")); - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-2/src/main/resources/application.yaml b/examples/mongodb/spring-boot-non-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index b0ca6a88..00000000 --- a/examples/mongodb/spring-boot-non-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - mongodb: - host: mongodb diff --git a/examples/mongodb/spring-boot-non-reactive-3/.tool-versions b/examples/mongodb/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/mongodb/spring-boot-non-reactive-3/build.gradle b/examples/mongodb/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index ca0252e2..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-3/oats.yaml b/examples/mongodb/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/mongodb/spring-boot-non-reactive-3/run.sh b/examples/mongodb/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/mongodb/spring-boot-non-reactive-3/settings.gradle b/examples/mongodb/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Customer.java b/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Customer.java deleted file mode 100644 index 191a649a..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/Customer.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.annotation.Id; - -public class Customer { - - @Id public String id; - - public String firstName; - public String lastName; - - public Customer() {} - - public Customer(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - @Override - public String toString() { - return String.format("Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java b/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java deleted file mode 100644 index cd784729..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.mongodb.repository.MongoRepository; - -public interface CustomerMongoRepository extends MongoRepository { - - Customer findByFirstName(String firstName); -} diff --git a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index a4dd4c07..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final CustomerMongoRepository repository; - - public StockController(CustomerMongoRepository repository) { - this.repository = repository; - } - - @GetMapping("/stock") - public String getStock() { - return String.valueOf(repository.findByFirstName("LGTM")); - } -} diff --git a/examples/mongodb/spring-boot-non-reactive-3/src/main/resources/application.yaml b/examples/mongodb/spring-boot-non-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index b0ca6a88..00000000 --- a/examples/mongodb/spring-boot-non-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - mongodb: - host: mongodb diff --git a/examples/mongodb/spring-boot-reactive-2/.tool-versions b/examples/mongodb/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/mongodb/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/mongodb/spring-boot-reactive-2/build.gradle b/examples/mongodb/spring-boot-reactive-2/build.gradle deleted file mode 100644 index 80739146..00000000 --- a/examples/mongodb/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/mongodb/spring-boot-reactive-2/oats.yaml b/examples/mongodb/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/mongodb/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/mongodb/spring-boot-reactive-2/run.sh b/examples/mongodb/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/mongodb/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/mongodb/spring-boot-reactive-2/settings.gradle b/examples/mongodb/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/mongodb/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/Customer.java b/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/Customer.java deleted file mode 100644 index 191a649a..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/Customer.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.annotation.Id; - -public class Customer { - - @Id public String id; - - public String firstName; - public String lastName; - - public Customer() {} - - public Customer(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - @Override - public String toString() { - return String.format("Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } -} diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java b/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java deleted file mode 100644 index d407b173..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/CustomerMongoRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.mongodb.repository.ReactiveMongoRepository; -import reactor.core.publisher.Flux; - -public interface CustomerMongoRepository extends ReactiveMongoRepository { - Flux findByFirstName(String firstName); -} diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/MongoReactiveConfig.java b/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/MongoReactiveConfig.java deleted file mode 100644 index 3f80f48c..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/MongoReactiveConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import com.mongodb.reactivestreams.client.MongoClient; -import com.mongodb.reactivestreams.client.MongoClients; -import org.springframework.context.annotation.Bean; -import org.springframework.data.mongodb.config.AbstractReactiveMongoConfiguration; -import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories; - -@EnableReactiveMongoRepositories -public class MongoReactiveConfig extends AbstractReactiveMongoConfiguration { - - @Bean - public MongoClient mongoClient() { - return MongoClients.create(); - } - - @Override - protected String getDatabaseName() { - return "reactive"; - } -} diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index a4dd4c07..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - private final CustomerMongoRepository repository; - - public StockController(CustomerMongoRepository repository) { - this.repository = repository; - } - - @GetMapping("/stock") - public String getStock() { - return String.valueOf(repository.findByFirstName("LGTM")); - } -} diff --git a/examples/mongodb/spring-boot-reactive-2/src/main/resources/application.yaml b/examples/mongodb/spring-boot-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index b0ca6a88..00000000 --- a/examples/mongodb/spring-boot-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - mongodb: - host: mongodb diff --git a/examples/mongodb/spring-boot-reactive-3/.tool-versions b/examples/mongodb/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/mongodb/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/mongodb/spring-boot-reactive-3/build.gradle b/examples/mongodb/spring-boot-reactive-3/build.gradle deleted file mode 100644 index 49c47f98..00000000 --- a/examples/mongodb/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation 'org.springframework.boot:spring-boot-starter-actuator' - implementation 'org.springframework.boot:spring-boot-starter-data-mongodb-reactive' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/mongodb/spring-boot-reactive-3/oats.yaml b/examples/mongodb/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/mongodb/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/mongodb/spring-boot-reactive-3/run.sh b/examples/mongodb/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/mongodb/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/mongodb/spring-boot-reactive-3/settings.gradle b/examples/mongodb/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/mongodb/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/Customer.java b/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/Customer.java deleted file mode 100644 index 191a649a..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/Customer.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.annotation.Id; - -public class Customer { - - @Id public String id; - - public String firstName; - public String lastName; - - public Customer() {} - - public Customer(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - @Override - public String toString() { - return String.format("Customer[id=%s, firstName='%s', lastName='%s']", id, firstName, lastName); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; - } -} diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java b/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java deleted file mode 100644 index d407b173..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/CustomerMongoRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.mongodb.repository.ReactiveMongoRepository; -import reactor.core.publisher.Flux; - -public interface CustomerMongoRepository extends ReactiveMongoRepository { - Flux findByFirstName(String firstName); -} diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/MongoReactiveConfig.java b/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/MongoReactiveConfig.java deleted file mode 100644 index 3f80f48c..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/MongoReactiveConfig.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import com.mongodb.reactivestreams.client.MongoClient; -import com.mongodb.reactivestreams.client.MongoClients; -import org.springframework.context.annotation.Bean; -import org.springframework.data.mongodb.config.AbstractReactiveMongoConfiguration; -import org.springframework.data.mongodb.repository.config.EnableReactiveMongoRepositories; - -@EnableReactiveMongoRepositories -public class MongoReactiveConfig extends AbstractReactiveMongoConfiguration { - - @Bean - public MongoClient mongoClient() { - return MongoClients.create(); - } - - @Override - protected String getDatabaseName() { - return "reactive"; - } -} diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 017a9108..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Flux; - -@RestController -public class StockController { - - private final CustomerMongoRepository repository; - - public StockController(CustomerMongoRepository repository) { - this.repository = repository; - } - - @GetMapping("/stock") - public Flux getStock() { - return repository.findByFirstName("LGTM"); - } -} diff --git a/examples/mongodb/spring-boot-reactive-3/src/main/resources/application.yaml b/examples/mongodb/spring-boot-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index b0ca6a88..00000000 --- a/examples/mongodb/spring-boot-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - mongodb: - host: mongodb diff --git a/examples/redis/README.md b/examples/redis/README.md deleted file mode 100644 index fe9ef24c..00000000 --- a/examples/redis/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Overview - -Example projects for redis clients. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). - -## Metrics - -The jedis driver exposes metrics via JMX. These metrics can be exported independently of spring boot - -see otel-jmx-config.yaml - which is used in the oats tests. diff --git a/examples/redis/docker-compose.yaml b/examples/redis/docker-compose.yaml deleted file mode 100644 index 3330f8aa..00000000 --- a/examples/redis/docker-compose.yaml +++ /dev/null @@ -1,20 +0,0 @@ -version: '3.9' - -x-default-logging: &logging - driver: "json-file" - options: - max-size: "5m" - max-file: "2" - -services: - redis: - image: redis:alpine - user: redis - deploy: - resources: - limits: - memory: 20M - restart: unless-stopped -# ports: -# - "6379:6379" - logging: *logging diff --git a/examples/redis/oats-template.yaml b/examples/redis/oats-template.yaml deleted file mode 100644 index 0c83e49a..00000000 --- a/examples/redis/oats-template.yaml +++ /dev/null @@ -1,20 +0,0 @@ -docker-compose: - generator: java - files: - - ../docker-compose.yaml - java-generator-params: - otel-jmx-config: ../otel-jmx-config.yaml -input: - - path: /stock -expected: - traces: - - traceql: '{ name = "KEYS" }' # in reactive, we actually use lettuce to get the span - maybe jedis is not even used - try this out - spans: - - name: KEYS - attributes: - db.system: redis - metrics: - # connection pool usage ratio - - promql: 'sum by (instance, pool_name) (db_client_connections_usage{state="used", job=~"$job", instance=~"$instance"}) / on (instance, pool_name) - sum by (instance, pool_name) (db_client_connections_max{job=~"$job", instance=~"$instance"})' - value: '>= 0' diff --git a/examples/redis/otel-jmx-config.yaml b/examples/redis/otel-jmx-config.yaml deleted file mode 100644 index bd66dab2..00000000 --- a/examples/redis/otel-jmx-config.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# JMX Bean: https://github.com/apache/commons-pool/blob/master/src/main/java/org/apache/commons/pool3/impl/GenericKeyedObjectPoolMXBean.java -# Semantic Convention: https://opentelemetry.io/docs/specs/otel/metrics/semantic_conventions/database-metrics/ -# Syntax of this file: https://github.com/open-telemetry/opentelemetry-java-instrumentation/tree/main/instrumentation/jmx-metrics/javaagent -rules: - - bean: org.apache.commons.pool2:type=GenericObjectPool,name=* - metricAttribute: - pool.name: param(name) - type: updowncounter - prefix: db.client.connections. - unit: "{connection}" - mapping: - NumActive: - metric: usage - metricAttribute: - state: const(used) - desc: total number of instances currently borrowed from this pool but not yet returned - Returns a negative value if this information is not available. - MaxTotal: - metric: max - desc: the maximum number of objects that can be allocated by the pool (checked out to clients, or idle awaiting checkout) at a given time. A negative value indicates no limit. diff --git a/examples/redis/spring-boot-non-reactive-2/.tool-versions b/examples/redis/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/redis/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/redis/spring-boot-non-reactive-2/build.gradle b/examples/redis/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 20e012e2..00000000 --- a/examples/redis/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,25 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'redis.clients:jedis:5.2.0' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/redis/spring-boot-non-reactive-2/oats.yaml b/examples/redis/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/redis/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/redis/spring-boot-non-reactive-2/run.sh b/examples/redis/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/redis/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/redis/spring-boot-non-reactive-2/settings.gradle b/examples/redis/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/redis/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 21cf7afa..00000000 --- a/examples/redis/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import redis.clients.jedis.JedisPooled; - -@RestController -public class StockController { - - private final JedisPooled jedis = new JedisPooled("redis", 6379); - - @GetMapping("/stock") - public String getStock() { - return String.join("", jedis.keys("hel?lo")); - } -} diff --git a/examples/redis/spring-boot-non-reactive-2/src/main/resources/application.yaml b/examples/redis/spring-boot-non-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 8acd7ee3..00000000 --- a/examples/redis/spring-boot-non-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - redis: - host: redis diff --git a/examples/redis/spring-boot-non-reactive-3/.tool-versions b/examples/redis/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/redis/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/redis/spring-boot-non-reactive-3/build.gradle b/examples/redis/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index a5b51b40..00000000 --- a/examples/redis/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,27 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'redis.clients:jedis:5.2.0' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/redis/spring-boot-non-reactive-3/oats.yaml b/examples/redis/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/redis/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/redis/spring-boot-non-reactive-3/run.sh b/examples/redis/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/redis/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/redis/spring-boot-non-reactive-3/settings.gradle b/examples/redis/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/redis/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 21cf7afa..00000000 --- a/examples/redis/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import redis.clients.jedis.JedisPooled; - -@RestController -public class StockController { - - private final JedisPooled jedis = new JedisPooled("redis", 6379); - - @GetMapping("/stock") - public String getStock() { - return String.join("", jedis.keys("hel?lo")); - } -} diff --git a/examples/redis/spring-boot-non-reactive-3/src/main/resources/application.yaml b/examples/redis/spring-boot-non-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index f896b8c5..00000000 --- a/examples/redis/spring-boot-non-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - redis: - host: redis diff --git a/examples/redis/spring-boot-reactive-2/.tool-versions b/examples/redis/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/redis/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/redis/spring-boot-reactive-2/build.gradle b/examples/redis/spring-boot-reactive-2/build.gradle deleted file mode 100644 index fc03ce70..00000000 --- a/examples/redis/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,26 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive' - implementation 'redis.clients:jedis:5.2.0' - implementation 'org.springframework.boot:spring-boot-starter-webflux' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/redis/spring-boot-reactive-2/oats.yaml b/examples/redis/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/redis/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/redis/spring-boot-reactive-2/run.sh b/examples/redis/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/redis/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/redis/spring-boot-reactive-2/settings.gradle b/examples/redis/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/redis/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/Coffee.java b/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/Coffee.java deleted file mode 100644 index 98278c2b..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/Coffee.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Coffee { - private String id; - private String name; - - public Coffee() {} - - public Coffee(String id, String name) { - this.id = id; - this.name = name; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/CoffeeLoader.java b/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/CoffeeLoader.java deleted file mode 100644 index 502b6662..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/CoffeeLoader.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import java.util.UUID; -import javax.annotation.PostConstruct; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.stereotype.Component; -import reactor.core.publisher.Flux; - -@Component -public class CoffeeLoader { - private final ReactiveRedisConnectionFactory factory; - private final ReactiveRedisOperations coffeeOps; - - public CoffeeLoader( - ReactiveRedisConnectionFactory factory, ReactiveRedisOperations coffeeOps) { - this.factory = factory; - this.coffeeOps = coffeeOps; - } - - @PostConstruct - public void loadData() { - factory - .getReactiveConnection() - .serverCommands() - .flushAll() - .thenMany( - Flux.just("Jet Black Redis", "Darth Redis", "Black Alert Redis") - .map(name -> new Coffee(UUID.randomUUID().toString(), name)) - .flatMap(coffee -> coffeeOps.opsForValue().set(coffee.getId(), coffee))) - .thenMany(coffeeOps.keys("*").flatMap(coffeeOps.opsForValue()::get)) - .subscribe(System.out::println); - } -} diff --git a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/RedisConfiguration.java b/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/RedisConfiguration.java deleted file mode 100644 index f1af9bc2..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/RedisConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.data.redis.core.ReactiveRedisTemplate; -import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; -import org.springframework.data.redis.serializer.RedisSerializationContext; -import org.springframework.data.redis.serializer.StringRedisSerializer; - -@Configuration -public class RedisConfiguration { - @Bean - ReactiveRedisOperations redisOperations(ReactiveRedisConnectionFactory factory) { - Jackson2JsonRedisSerializer serializer = - new Jackson2JsonRedisSerializer<>(Coffee.class); - - RedisSerializationContext.RedisSerializationContextBuilder builder = - RedisSerializationContext.newSerializationContext(new StringRedisSerializer()); - - RedisSerializationContext context = builder.value(serializer).build(); - - return new ReactiveRedisTemplate<>(factory, context); - } -} diff --git a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 2737720c..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - - private final ReactiveRedisOperations coffeeOps; - - public StockController(ReactiveRedisOperations coffeeOps) { - this.coffeeOps = coffeeOps; - } - - @GetMapping("/stock") - public Mono getStock() { - return coffeeOps.keys("*").flatMap(coffeeOps.opsForValue()::get).next().map(Coffee::getName); - } -} diff --git a/examples/redis/spring-boot-reactive-2/src/main/resources/application.yaml b/examples/redis/spring-boot-reactive-2/src/main/resources/application.yaml deleted file mode 100644 index 8acd7ee3..00000000 --- a/examples/redis/spring-boot-reactive-2/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - redis: - host: redis diff --git a/examples/redis/spring-boot-reactive-3/.tool-versions b/examples/redis/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/redis/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/redis/spring-boot-reactive-3/build.gradle b/examples/redis/spring-boot-reactive-3/build.gradle deleted file mode 100644 index 8c9db7ac..00000000 --- a/examples/redis/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,28 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive' - implementation 'redis.clients:jedis:5.2.0' - implementation 'org.springframework.boot:spring-boot-starter-webflux' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/redis/spring-boot-reactive-3/oats.yaml b/examples/redis/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/redis/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/redis/spring-boot-reactive-3/run.sh b/examples/redis/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/redis/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/redis/spring-boot-reactive-3/settings.gradle b/examples/redis/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/redis/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/Coffee.java b/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/Coffee.java deleted file mode 100644 index 98278c2b..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/Coffee.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -public class Coffee { - private String id; - private String name; - - public Coffee() {} - - public Coffee(String id, String name) { - this.id = id; - this.name = name; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/CoffeeLoader.java b/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/CoffeeLoader.java deleted file mode 100644 index 1633e3ed..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/CoffeeLoader.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import jakarta.annotation.PostConstruct; -import java.util.UUID; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.stereotype.Component; -import reactor.core.publisher.Flux; - -@Component -public class CoffeeLoader { - private final ReactiveRedisConnectionFactory factory; - private final ReactiveRedisOperations coffeeOps; - - public CoffeeLoader( - ReactiveRedisConnectionFactory factory, ReactiveRedisOperations coffeeOps) { - this.factory = factory; - this.coffeeOps = coffeeOps; - } - - @PostConstruct - public void loadData() { - factory - .getReactiveConnection() - .serverCommands() - .flushAll() - .thenMany( - Flux.just("Jet Black Redis", "Darth Redis", "Black Alert Redis") - .map(name -> new Coffee(UUID.randomUUID().toString(), name)) - .flatMap(coffee -> coffeeOps.opsForValue().set(coffee.getId(), coffee))) - .thenMany(coffeeOps.keys("*").flatMap(coffeeOps.opsForValue()::get)) - .subscribe(System.out::println); - } -} diff --git a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/RedisConfiguration.java b/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/RedisConfiguration.java deleted file mode 100644 index f1af9bc2..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/RedisConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.data.redis.core.ReactiveRedisTemplate; -import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; -import org.springframework.data.redis.serializer.RedisSerializationContext; -import org.springframework.data.redis.serializer.StringRedisSerializer; - -@Configuration -public class RedisConfiguration { - @Bean - ReactiveRedisOperations redisOperations(ReactiveRedisConnectionFactory factory) { - Jackson2JsonRedisSerializer serializer = - new Jackson2JsonRedisSerializer<>(Coffee.class); - - RedisSerializationContext.RedisSerializationContextBuilder builder = - RedisSerializationContext.newSerializationContext(new StringRedisSerializer()); - - RedisSerializationContext context = builder.value(serializer).build(); - - return new ReactiveRedisTemplate<>(factory, context); - } -} diff --git a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 2737720c..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.data.redis.core.ReactiveRedisOperations; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - - private final ReactiveRedisOperations coffeeOps; - - public StockController(ReactiveRedisOperations coffeeOps) { - this.coffeeOps = coffeeOps; - } - - @GetMapping("/stock") - public Mono getStock() { - return coffeeOps.keys("*").flatMap(coffeeOps.opsForValue()::get).next().map(Coffee::getName); - } -} diff --git a/examples/redis/spring-boot-reactive-3/src/main/resources/application.yaml b/examples/redis/spring-boot-reactive-3/src/main/resources/application.yaml deleted file mode 100644 index f896b8c5..00000000 --- a/examples/redis/spring-boot-reactive-3/src/main/resources/application.yaml +++ /dev/null @@ -1,4 +0,0 @@ -spring: - data: - redis: - host: redis diff --git a/examples/run-example.sh b/examples/run-example.sh deleted file mode 100755 index e57f3df9..00000000 --- a/examples/run-example.sh +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env bash - -scriptDir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) - -while [[ $# -gt 0 ]]; do - case $1 in - --includeAllInstrumentations) - echo "including all instrumentations" - includeAllInstrumentations=true - shift - ;; - -a|--attachDebugger) - echo "attaching debugger on port 5000" - attachDebugger=true - shift - ;; - -l|--debugLogging) - echo "logging all telemetry to stdout" - debugLogging=true - shift - ;; - -m|--debugInstrumentations) - echo "show active instrumentations instrumentations" - debugInstrumentations=true - shift - ;; - *) - echo "Unknown option $1" - exit 1 - ;; - esac -done - -"$scriptDir"/start-grafana-agent.sh - -RELEASE=2.9.0 -agent="grafana-opentelemetry-java-$RELEASE.jar" -agentPath="$scriptDir/$agent" - -if [[ ! -f "$agentPath" ]]; then - echo "Downloading $agent" - # this still needs a token until the project is public - curl -Lo "$agentPath" https://github.com/grafana/grafana-opentelemetry-java/releases/download/v$RELEASE/grafana-opentelemetry-java.jar -fi - -jvm_args=$(cat <<-END --javaagent:$agentPath -Dotel.resource.attributes=deployment.environment=production,service.namespace=shop,service.version=1.1 -Dotel.metric.export.interval=10000 -END -) - -if [[ $attachDebugger == "true" ]]; then - address="*:5005" - if [[ $(java -version 2>&1) =~ 1\.8\.0 ]]; then - address="5005" - fi - jvm_args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=$address $jvm_args" -fi -if [[ $includeAllInstrumentations != "true" ]]; then - jvm_args="$jvm_args -Dgrafana.otel.use-tested-instrumentations=true" -fi -if [[ $debugInstrumentations == "true" ]]; then - jvm_args="$jvm_args -Dotel.javaagent.debug=true" -fi -if [[ $debugLogging == "true" ]]; then - jvm_args="$jvm_args -Dotel.logs.exporter=otlp,console -Dotel.metrics.exporter=otlp,console -Dotel.traces.exporter=otlp,console" -fi - -echo "Used JVM args: $jvm_args" - -"$scriptDir"/../gradlew bootRun -PjvmArgs="$jvm_args" diff --git a/examples/start-grafana-agent.sh b/examples/start-grafana-agent.sh deleted file mode 100755 index f751977e..00000000 --- a/examples/start-grafana-agent.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -case "$OSTYPE" in - linux*) - if ! systemctl status grafana-agent-flow > /dev/null; then - echo "starting grafana-agent-flow" - sudo systemctl start grafana-agent-flow - fi - ;; - *) - echo "only works for Linux currently - please start grafana-agent-flow manually" - ;; -esac diff --git a/examples/undertow/README.md b/examples/undertow/README.md deleted file mode 100644 index f538184f..00000000 --- a/examples/undertow/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Overview - -Example projects for using Undertow instead of Tomcat. - -## Running the examples - -See the [examples README](../README.md#running-the-examples). diff --git a/examples/undertow/oats-template.yaml b/examples/undertow/oats-template.yaml deleted file mode 100644 index 5bf23788..00000000 --- a/examples/undertow/oats-template.yaml +++ /dev/null @@ -1,11 +0,0 @@ -docker-compose: - generator: java -input: - - path: /stock -expected: - traces: - - traceql: '{ kind = server }' - spans: - - name: 'GET /stock' - attributes: - otel.library.name: regex:io.opentelemetry.undertow-.* diff --git a/examples/undertow/spring-boot-non-reactive-2/.tool-versions b/examples/undertow/spring-boot-non-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/undertow/spring-boot-non-reactive-2/build.gradle b/examples/undertow/spring-boot-non-reactive-2/build.gradle deleted file mode 100644 index 4d81895a..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation "org.springframework.boot:spring-boot-starter-undertow" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/undertow/spring-boot-non-reactive-2/oats.yaml b/examples/undertow/spring-boot-non-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/undertow/spring-boot-non-reactive-2/run.sh b/examples/undertow/spring-boot-non-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/undertow/spring-boot-non-reactive-2/settings.gradle b/examples/undertow/spring-boot-non-reactive-2/settings.gradle deleted file mode 100644 index 84dcd8f6..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-2' diff --git a/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index b13dcda1..00000000 --- a/examples/undertow/spring-boot-non-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - - @GetMapping("/stock") - public String getStock() { - return "hello LGTM"; - } -} diff --git a/examples/undertow/spring-boot-non-reactive-3/.tool-versions b/examples/undertow/spring-boot-non-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/undertow/spring-boot-non-reactive-3/build.gradle b/examples/undertow/spring-boot-non-reactive-3/build.gradle deleted file mode 100644 index 48898cc9..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation "org.springframework.boot:spring-boot-starter-undertow" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/undertow/spring-boot-non-reactive-3/oats.yaml b/examples/undertow/spring-boot-non-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/undertow/spring-boot-non-reactive-3/run.sh b/examples/undertow/spring-boot-non-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/undertow/spring-boot-non-reactive-3/settings.gradle b/examples/undertow/spring-boot-non-reactive-3/settings.gradle deleted file mode 100644 index d65def88..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-non-reactive-3' diff --git a/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 0be1547d..00000000 --- a/examples/undertow/spring-boot-non-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -public class StockController { - @GetMapping("/stock") - public String getStock() { - return "hello LGTM"; - } -} diff --git a/examples/undertow/spring-boot-reactive-2/.tool-versions b/examples/undertow/spring-boot-reactive-2/.tool-versions deleted file mode 100644 index 7ce33d2e..00000000 --- a/examples/undertow/spring-boot-reactive-2/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-8.0.372+7 diff --git a/examples/undertow/spring-boot-reactive-2/build.gradle b/examples/undertow/spring-boot-reactive-2/build.gradle deleted file mode 100644 index 4d81895a..00000000 --- a/examples/undertow/spring-boot-reactive-2/build.gradle +++ /dev/null @@ -1,29 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '2.7.18' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '1.8' - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation "org.springframework.boot:spring-boot-starter-undertow" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/undertow/spring-boot-reactive-2/oats.yaml b/examples/undertow/spring-boot-reactive-2/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/undertow/spring-boot-reactive-2/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/undertow/spring-boot-reactive-2/run.sh b/examples/undertow/spring-boot-reactive-2/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/undertow/spring-boot-reactive-2/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/undertow/spring-boot-reactive-2/settings.gradle b/examples/undertow/spring-boot-reactive-2/settings.gradle deleted file mode 100644 index 186841af..00000000 --- a/examples/undertow/spring-boot-reactive-2/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-2' diff --git a/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java b/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 404a3dc4..00000000 --- a/examples/undertow/spring-boot-reactive-2/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - @GetMapping("/stock") - public Mono getStock() { - return Mono.just("hello LGTM"); - } -} diff --git a/examples/undertow/spring-boot-reactive-3/.tool-versions b/examples/undertow/spring-boot-reactive-3/.tool-versions deleted file mode 100644 index 390fc5f3..00000000 --- a/examples/undertow/spring-boot-reactive-3/.tool-versions +++ /dev/null @@ -1 +0,0 @@ -java temurin-21.0.0+35.0.LTS diff --git a/examples/undertow/spring-boot-reactive-3/build.gradle b/examples/undertow/spring-boot-reactive-3/build.gradle deleted file mode 100644 index 3a12d6f5..00000000 --- a/examples/undertow/spring-boot-reactive-3/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.3.4' - id 'io.spring.dependency-management' version '1.1.6' -} - -group = 'com.grafana' -version = '0.0.1-SNAPSHOT' -compileJava { - options.release.set(17) -} - -repositories { - mavenCentral() - mavenLocal() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-webflux' - implementation "org.springframework.boot:spring-boot-starter-undertow" -} - -configurations { - all*.exclude module: 'spring-boot-starter-tomcat' -} - -bootRun { - if (project.hasProperty('jvmArgs')) { - jvmArgs = (project.jvmArgs.split("\\s+") as List) - } -} diff --git a/examples/undertow/spring-boot-reactive-3/oats.yaml b/examples/undertow/spring-boot-reactive-3/oats.yaml deleted file mode 100644 index 4d289871..00000000 --- a/examples/undertow/spring-boot-reactive-3/oats.yaml +++ /dev/null @@ -1,2 +0,0 @@ -include: - - ../oats-template.yaml diff --git a/examples/undertow/spring-boot-reactive-3/run.sh b/examples/undertow/spring-boot-reactive-3/run.sh deleted file mode 100755 index 3b730dee..00000000 --- a/examples/undertow/spring-boot-reactive-3/run.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -../../run-example.sh "$@" diff --git a/examples/undertow/spring-boot-reactive-3/settings.gradle b/examples/undertow/spring-boot-reactive-3/settings.gradle deleted file mode 100644 index 2bfc2706..00000000 --- a/examples/undertow/spring-boot-reactive-3/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'spring-boot-reactive-3' diff --git a/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java b/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java deleted file mode 100644 index 700bbdda..00000000 --- a/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/SpringBootDemoApplication.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class SpringBootDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(SpringBootDemoApplication.class, args); - } -} diff --git a/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java b/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java deleted file mode 100644 index 404a3dc4..00000000 --- a/examples/undertow/spring-boot-reactive-3/src/main/java/com/grafana/demo/StockController.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Grafana Labs - * SPDX-License-Identifier: Apache-2.0 - */ - -package com.grafana.demo; - -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RestController; -import reactor.core.publisher.Mono; - -@RestController -public class StockController { - @GetMapping("/stock") - public Mono getStock() { - return Mono.just("hello LGTM"); - } -} diff --git a/scripts/run-acceptance-tests.sh b/scripts/run-acceptance-tests.sh deleted file mode 100755 index 151783f7..00000000 --- a/scripts/run-acceptance-tests.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -cd oats/yaml -go install github.com/onsi/ginkgo/v2/ginkgo -export TESTCASE_SKIP_BUILD=true -export TESTCASE_TIMEOUT=5m -export TESTCASE_BASE_PATH=../../examples -ginkgo -r # is parallel causing problems? -p diff --git a/settings.gradle b/settings.gradle index 0bc8f130..ca2f945d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,47 +12,4 @@ include ":custom" include ":smoke-tests" include ":testing:agent-for-testing" -include ":examples:jdbc:spring-boot-non-reactive-2" -include ":examples:jdbc:spring-boot-non-reactive-3" -include ":examples:jdbc:spring-boot-reactive-2" -include ":examples:jdbc:spring-boot-reactive-3" - -include ":examples:jms:spring-boot-non-reactive-2" -include ":examples:jms:spring-boot-non-reactive-3" -include ":examples:jms:spring-boot-reactive-2" -include ":examples:jms:spring-boot-reactive-3" - -include ":examples:redis:spring-boot-non-reactive-2" -include ":examples:redis:spring-boot-non-reactive-3" -include ":examples:redis:spring-boot-reactive-2" -include ":examples:redis:spring-boot-reactive-3" - -include ":examples:kafka:spring-boot-non-reactive-2" -include ":examples:kafka:spring-boot-non-reactive-3" -include ":examples:kafka:spring-boot-reactive-2" -include ":examples:kafka:spring-boot-reactive-3" - -include "examples:mongodb:spring-boot-non-reactive-2" -include "examples:mongodb:spring-boot-non-reactive-3" -include "examples:mongodb:spring-boot-reactive-2" -include "examples:mongodb:spring-boot-reactive-3" - -include "examples:jetty:spring-boot-non-reactive-2" -include "examples:jetty:spring-boot-non-reactive-3" -include "examples:jetty:spring-boot-reactive-2" -include "examples:jetty:spring-boot-reactive-3" - -include "examples:undertow:spring-boot-non-reactive-2" -include "examples:undertow:spring-boot-non-reactive-3" -include "examples:undertow:spring-boot-reactive-2" -include "examples:undertow:spring-boot-reactive-3" - -include "examples:logback:spring-boot-non-reactive-2" -include "examples:logback:spring-boot-non-reactive-3" - -include "examples:log4j:spring-boot-non-reactive-2" -include "examples:log4j:spring-boot-non-reactive-3" - -include "examples:manual:spring-boot-non-reactive-2" -include "examples:manual:spring-boot-non-reactive-3" From a85a32efc015b46d05adafc4e0671519150249f3 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 27 Nov 2024 13:26:48 +0100 Subject: [PATCH 2/2] remove examples, because the upstream spring starter has great spring coverage now --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index feb5e47f..68b898ab 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,7 +39,7 @@ SMOKE_TEST_JAVA_VERSION=8 ./gradlew :smoke-tests:test Check if the test passes with `TESTCASE_INCLUDE_ALL_INSTRUMENTATIONS=true`. If yes, check what the instrumentation scope is, and include this instrumentation in the list of -[tested instrumentations](https://github.com/grafana/grafana-opentelemetry-java/blob/main/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java). +[tested instrumentations](https://github.com/grafana/grafana-opentelemetry-java/blob/main/custom/src/main/java/com/grafana/extensions/instrumentations/Instrumentations.java). Where you can find the instrumentation scope: