From 06cc3a46ea90308cc6e36f0aec9dea766cb5ff1d Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 15:42:58 +0200 Subject: [PATCH 1/9] Add agent/collector mode toggle to rake tasks Test setups can now be run in either "agent mode" (the native integration, the default) or "collector mode" (the integration sends data to AppSignal through a local AppSignal collector over OpenTelemetry), selected with a `mode=` parameter. A setup supports collector mode when it ships a `docker-compose.collector.yml`; asking for an unsupported mode errors, and the chosen mode is printed at the start of the command output. The shared AppSignal collector service lives in support/collector so per-app collector files can include it. Also fix the README bot-app detection, which matched an inline service that is now pulled in via an include, so regeneration is faithful again. --- README.md | 80 +++++++++++++++++++-------- Rakefile | 81 ++++++++++++++++++++++++---- support/collector/docker-compose.yml | 8 +++ support/templates/README.md.erb | 9 ++++ 4 files changed, 147 insertions(+), 31 deletions(-) create mode 100644 support/collector/docker-compose.yml diff --git a/README.md b/README.md index 248a9221..1c97cdce 100644 --- a/README.md +++ b/README.md @@ -59,9 +59,10 @@ rake app=nodejs/express-redis app:up rake app=nodejs/express-redis-alpine app:up rake app=nodejs/express-yoga app:up rake app=nodejs/fastify app:up -rake app=nodejs/koa-microservices app:up -rake app=nodejs/koa-mongo app:up -rake app=nodejs/koa-mysql app:up +rake app=nodejs/koa-2-microservices app:up +rake app=nodejs/koa-2-mongo app:up +rake app=nodejs/koa-2-mysql app:up +rake app=nodejs/koa-3-mysql app:up rake app=nodejs/nestjs app:up rake app=nodejs/nestjs-10 app:up rake app=nodejs/nestjs-prisma app:up @@ -71,8 +72,11 @@ rake app=nodejs/nextjs-14-pages app:up rake app=nodejs/nextjs-15-app-collector app:up rake app=nodejs/remix app:up rake app=nodejs/restify app:up +rake app=php/laravel app:up rake app=php/laravel-collector app:up +rake app=php/symfony app:up rake app=php/symfony-collector app:up +rake app=php/vanilla app:up rake app=php/vanilla-collector app:up rake app=python/django4-asgi app:up rake app=python/django4-celery app:up @@ -104,6 +108,7 @@ rake app=ruby/rails7-sequel app:up rake app=ruby/rails7-sidekiq app:up rake app=ruby/rails7-solid-cache app:up rake app=ruby/rails7-solid-queue app:up +rake app=ruby/rails8-delayed-job app:up rake app=ruby/rails8-sidekiq app:up rake app=ruby/rails8-sidekiq-collector app:up rake app=ruby/shoryuken app:up @@ -153,9 +158,9 @@ rake app=nodejs/express-redis app:bot rake app=nodejs/express-redis-alpine app:bot rake app=nodejs/express-yoga app:bot rake app=nodejs/fastify app:bot -rake app=nodejs/koa-microservices app:bot -rake app=nodejs/koa-mongo app:bot -rake app=nodejs/koa-mysql app:bot +rake app=nodejs/koa-2-microservices app:bot +rake app=nodejs/koa-2-mongo app:bot +rake app=nodejs/koa-2-mysql app:bot rake app=nodejs/nestjs app:bot rake app=nodejs/nestjs-10 app:bot rake app=nodejs/nestjs-prisma app:bot @@ -207,6 +212,14 @@ rake app=ruby/webmachine1 app:bot rake app=ruby/webmachine2 app:bot ``` +Most test setups run their integration in "agent mode". Some also support +"collector mode", in which the integration sends data to AppSignal through a +local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any +command (it defaults to `mode=agent`). The setups that support collector mode: + +``` +``` + To restart the app container after making changes to an integration: ``` @@ -246,9 +259,10 @@ rake app=nodejs/express-redis app:restart rake app=nodejs/express-redis-alpine app:restart rake app=nodejs/express-yoga app:restart rake app=nodejs/fastify app:restart -rake app=nodejs/koa-microservices app:restart -rake app=nodejs/koa-mongo app:restart -rake app=nodejs/koa-mysql app:restart +rake app=nodejs/koa-2-microservices app:restart +rake app=nodejs/koa-2-mongo app:restart +rake app=nodejs/koa-2-mysql app:restart +rake app=nodejs/koa-3-mysql app:restart rake app=nodejs/nestjs app:restart rake app=nodejs/nestjs-10 app:restart rake app=nodejs/nestjs-prisma app:restart @@ -258,8 +272,11 @@ rake app=nodejs/nextjs-14-pages app:restart rake app=nodejs/nextjs-15-app-collector app:restart rake app=nodejs/remix app:restart rake app=nodejs/restify app:restart +rake app=php/laravel app:restart rake app=php/laravel-collector app:restart +rake app=php/symfony app:restart rake app=php/symfony-collector app:restart +rake app=php/vanilla app:restart rake app=php/vanilla-collector app:restart rake app=python/django4-asgi app:restart rake app=python/django4-celery app:restart @@ -291,6 +308,7 @@ rake app=ruby/rails7-sequel app:restart rake app=ruby/rails7-sidekiq app:restart rake app=ruby/rails7-solid-cache app:restart rake app=ruby/rails7-solid-queue app:restart +rake app=ruby/rails8-delayed-job app:restart rake app=ruby/rails8-sidekiq app:restart rake app=ruby/rails8-sidekiq-collector app:restart rake app=ruby/shoryuken app:restart @@ -344,9 +362,10 @@ rake app=nodejs/express-redis app:bash rake app=nodejs/express-redis-alpine app:bash rake app=nodejs/express-yoga app:bash rake app=nodejs/fastify app:bash -rake app=nodejs/koa-microservices app:bash -rake app=nodejs/koa-mongo app:bash -rake app=nodejs/koa-mysql app:bash +rake app=nodejs/koa-2-microservices app:bash +rake app=nodejs/koa-2-mongo app:bash +rake app=nodejs/koa-2-mysql app:bash +rake app=nodejs/koa-3-mysql app:bash rake app=nodejs/nestjs app:bash rake app=nodejs/nestjs-10 app:bash rake app=nodejs/nestjs-prisma app:bash @@ -356,8 +375,11 @@ rake app=nodejs/nextjs-14-pages app:bash rake app=nodejs/nextjs-15-app-collector app:bash rake app=nodejs/remix app:bash rake app=nodejs/restify app:bash +rake app=php/laravel app:bash rake app=php/laravel-collector app:bash +rake app=php/symfony app:bash rake app=php/symfony-collector app:bash +rake app=php/vanilla app:bash rake app=php/vanilla-collector app:bash rake app=python/django4-asgi app:bash rake app=python/django4-celery app:bash @@ -389,6 +411,7 @@ rake app=ruby/rails7-sequel app:bash rake app=ruby/rails7-sidekiq app:bash rake app=ruby/rails7-solid-cache app:bash rake app=ruby/rails7-solid-queue app:bash +rake app=ruby/rails8-delayed-job app:bash rake app=ruby/rails8-sidekiq app:bash rake app=ruby/rails8-sidekiq-collector app:bash rake app=ruby/shoryuken app:bash @@ -442,9 +465,10 @@ rake app=nodejs/express-redis app:console rake app=nodejs/express-redis-alpine app:console rake app=nodejs/express-yoga app:console rake app=nodejs/fastify app:console -rake app=nodejs/koa-microservices app:console -rake app=nodejs/koa-mongo app:console -rake app=nodejs/koa-mysql app:console +rake app=nodejs/koa-2-microservices app:console +rake app=nodejs/koa-2-mongo app:console +rake app=nodejs/koa-2-mysql app:console +rake app=nodejs/koa-3-mysql app:console rake app=nodejs/nestjs app:console rake app=nodejs/nestjs-10 app:console rake app=nodejs/nestjs-prisma app:console @@ -454,8 +478,11 @@ rake app=nodejs/nextjs-14-pages app:console rake app=nodejs/nextjs-15-app-collector app:console rake app=nodejs/remix app:console rake app=nodejs/restify app:console +rake app=php/laravel app:console rake app=php/laravel-collector app:console +rake app=php/symfony app:console rake app=php/symfony-collector app:console +rake app=php/vanilla app:console rake app=php/vanilla-collector app:console rake app=python/django4-asgi app:console rake app=python/django4-celery app:console @@ -487,6 +514,7 @@ rake app=ruby/rails7-sequel app:console rake app=ruby/rails7-sidekiq app:console rake app=ruby/rails7-solid-cache app:console rake app=ruby/rails7-solid-queue app:console +rake app=ruby/rails8-delayed-job app:console rake app=ruby/rails8-sidekiq app:console rake app=ruby/rails8-sidekiq-collector app:console rake app=ruby/shoryuken app:console @@ -540,9 +568,10 @@ rake app=nodejs/express-redis app:diagnose rake app=nodejs/express-redis-alpine app:diagnose rake app=nodejs/express-yoga app:diagnose rake app=nodejs/fastify app:diagnose -rake app=nodejs/koa-microservices app:diagnose -rake app=nodejs/koa-mongo app:diagnose -rake app=nodejs/koa-mysql app:diagnose +rake app=nodejs/koa-2-microservices app:diagnose +rake app=nodejs/koa-2-mongo app:diagnose +rake app=nodejs/koa-2-mysql app:diagnose +rake app=nodejs/koa-3-mysql app:diagnose rake app=nodejs/nestjs app:diagnose rake app=nodejs/nestjs-10 app:diagnose rake app=nodejs/nestjs-prisma app:diagnose @@ -552,8 +581,11 @@ rake app=nodejs/nextjs-14-pages app:diagnose rake app=nodejs/nextjs-15-app-collector app:diagnose rake app=nodejs/remix app:diagnose rake app=nodejs/restify app:diagnose +rake app=php/laravel app:diagnose rake app=php/laravel-collector app:diagnose +rake app=php/symfony app:diagnose rake app=php/symfony-collector app:diagnose +rake app=php/vanilla app:diagnose rake app=php/vanilla-collector app:diagnose rake app=python/django4-asgi app:diagnose rake app=python/django4-celery app:diagnose @@ -585,6 +617,7 @@ rake app=ruby/rails7-sequel app:diagnose rake app=ruby/rails7-sidekiq app:diagnose rake app=ruby/rails7-solid-cache app:diagnose rake app=ruby/rails7-solid-queue app:diagnose +rake app=ruby/rails8-delayed-job app:diagnose rake app=ruby/rails8-sidekiq app:diagnose rake app=ruby/rails8-sidekiq-collector app:diagnose rake app=ruby/shoryuken app:diagnose @@ -638,9 +671,10 @@ rake app=nodejs/express-redis app:tail:appsignal rake app=nodejs/express-redis-alpine app:tail:appsignal rake app=nodejs/express-yoga app:tail:appsignal rake app=nodejs/fastify app:tail:appsignal -rake app=nodejs/koa-microservices app:tail:appsignal -rake app=nodejs/koa-mongo app:tail:appsignal -rake app=nodejs/koa-mysql app:tail:appsignal +rake app=nodejs/koa-2-microservices app:tail:appsignal +rake app=nodejs/koa-2-mongo app:tail:appsignal +rake app=nodejs/koa-2-mysql app:tail:appsignal +rake app=nodejs/koa-3-mysql app:tail:appsignal rake app=nodejs/nestjs app:tail:appsignal rake app=nodejs/nestjs-10 app:tail:appsignal rake app=nodejs/nestjs-prisma app:tail:appsignal @@ -650,8 +684,11 @@ rake app=nodejs/nextjs-14-pages app:tail:appsignal rake app=nodejs/nextjs-15-app-collector app:tail:appsignal rake app=nodejs/remix app:tail:appsignal rake app=nodejs/restify app:tail:appsignal +rake app=php/laravel app:tail:appsignal rake app=php/laravel-collector app:tail:appsignal +rake app=php/symfony app:tail:appsignal rake app=php/symfony-collector app:tail:appsignal +rake app=php/vanilla app:tail:appsignal rake app=php/vanilla-collector app:tail:appsignal rake app=python/django4-asgi app:tail:appsignal rake app=python/django4-celery app:tail:appsignal @@ -683,6 +720,7 @@ rake app=ruby/rails7-sequel app:tail:appsignal rake app=ruby/rails7-sidekiq app:tail:appsignal rake app=ruby/rails7-solid-cache app:tail:appsignal rake app=ruby/rails7-solid-queue app:tail:appsignal +rake app=ruby/rails8-delayed-job app:tail:appsignal rake app=ruby/rails8-sidekiq app:tail:appsignal rake app=ruby/rails8-sidekiq-collector app:tail:appsignal rake app=ruby/shoryuken app:tail:appsignal diff --git a/Rakefile b/Rakefile index 61a37691..b4d9fe86 100644 --- a/Rakefile +++ b/Rakefile @@ -11,6 +11,52 @@ def get_app end.delete_suffix("/") end +# A test setup supports collector mode when it ships a +# `docker-compose.collector.yml` next to its `docker-compose.yml`. Agent mode +# is always supported. +def supported_modes(app) + modes = [:agent] + modes << :collector if File.exist?("#{app}/docker-compose.collector.yml") + modes +end + +# Resolve the mode for an app from the `mode=` parameter: +# - no mode given: use agent (the default when both are supported). +# - mode given but unknown: error. +# - mode given but not supported by the app: error. +# The chosen mode is printed so it's clear at the start of the output. +def get_mode(app) + supported = supported_modes(app) + requested = ENV['mode'] + + mode = + if requested.nil? || requested.empty? + supported.include?(:agent) ? :agent : supported.first + else + sym = requested.to_sym + unless [:agent, :collector].include?(sym) + raise "Unknown mode '#{requested}'. Use mode=agent or mode=collector." + end + unless supported.include?(sym) + raise "App #{app} does not support #{requested} mode." + end + sym + end + + puts "==> Mode: #{mode}" + mode +end + +# The compose file that defines an app in the given mode. Each per-mode file +# includes the app's `docker-compose.shared.yml`, so loading one is enough. +def compose_file_arg(mode) + if mode == :collector + "-f docker-compose.collector.yml" + else + "-f docker-compose.yml" + end +end + def clone_from_git(path, repo, branch: nil) if File.exist?(path) puts "#{path} already present" @@ -136,6 +182,7 @@ namespace :app do end @app = get_app + @mode = get_mode(@app) puts "Starting #{@app}" puts "Copying processmon" @@ -150,7 +197,7 @@ namespace :app do if build_args options = "--build-arg=#{build_args}" end - run_command "cd #{@app} && docker compose build #{options}" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build #{options}" puts "Cleaning processmon" FileUtils.rm_f "#{@app}/commands/processmon" @@ -161,7 +208,7 @@ namespace :app do build_app puts "Starting compose..." - run_command "cd #{@app} && docker compose up --abort-on-container-exit" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} up --abort-on-container-exit" end desc "Start a test app and run the tests on it" @@ -169,10 +216,10 @@ namespace :app do build_app puts "Building the tests container..." - run_command "cd #{@app} && docker compose build --build-arg TESTING=true tests" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build --build-arg TESTING=true tests" puts "Starting compose with the tests..." - run_command "cd #{@app} && docker compose --profile tests up --abort-on-container-exit --exit-code-from tests" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} --profile tests up --abort-on-container-exit --exit-code-from tests" end desc "Start a test app with the bot generating activity" @@ -180,10 +227,10 @@ namespace :app do build_app puts "Building the bot container..." - run_command "cd #{@app} && docker compose build bot" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build bot" puts "Starting compose with the bot..." - run_command "cd #{@app} && docker compose --profile bot up --abort-on-container-exit" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} --profile bot up --abort-on-container-exit" end desc "Attach to app and get bash" @@ -240,15 +287,20 @@ namespace :app do desc "Restart the app container, needed when making changes in the integration" task :restart do @app = get_app + @mode = get_mode(@app) puts "Restarting #{@app}" - run_command "cd #{@app} && docker compose restart app" + run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} restart app" end desc "Bring compose down and remove cached app docker image" task :down do @app = get_app + # Use the collector compose file when present: it includes the shared file, + # so it knows about every service (incl. the collector) and tears them all + # down. Falls back to the regular file for agent-only setups. + down_mode = supported_modes(@app).include?(:collector) ? :collector : :agent puts "Bringing compose down..." - run_command "cd #{@app} && docker compose --profile tests --profile bot down --rmi=local" + run_command "cd #{@app} && docker compose #{compose_file_arg(down_mode)} --profile tests --profile bot down --rmi=local" run_command "docker image rm -f #{@app}:latest" end @@ -321,9 +373,18 @@ namespace :global do end.sort end.flatten + # The bot service is pulled in via the bot compose include, which may live + # in the app's `docker-compose.yml` or in its `docker-compose.shared.yml`. @bot_apps = @apps.select do |app| - compose = "#{app}/docker-compose.yml" - File.exist?(compose) && File.read(compose).include?(" bot:") + %w(docker-compose.yml docker-compose.shared.yml).any? do |file| + path = "#{app}/#{file}" + File.exist?(path) && File.read(path).include?("support/bot/docker-compose.yml") + end + end + + # Apps that ship a collector compose file can be run in collector mode. + @collector_apps = @apps.select do |app| + supported_modes(app).include?(:collector) end File.write "README.md", render_erb("support/templates/README.md.erb") diff --git a/support/collector/docker-compose.yml b/support/collector/docker-compose.yml new file mode 100644 index 00000000..1966f205 --- /dev/null +++ b/support/collector/docker-compose.yml @@ -0,0 +1,8 @@ +services: + appsignal-collector: + image: appsignal/collector:latest + environment: + - APPSIGNAL_LOG_LEVEL=trace + env_file: + - ../../appsignal.env + - ../../appsignal_key.env diff --git a/support/templates/README.md.erb b/support/templates/README.md.erb index 3550859b..6a0eb732 100644 --- a/support/templates/README.md.erb +++ b/support/templates/README.md.erb @@ -37,6 +37,15 @@ page and follows a random link every 5 seconds): <% @bot_apps.each do |app | %>rake app=<%= app %> app:bot <% end %>``` +Most test setups run their integration in "agent mode". Some also support +"collector mode", in which the integration sends data to AppSignal through a +local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any +command (it defaults to `mode=agent`). The setups that support collector mode: + +``` +<% @collector_apps.each do |app | %>rake app=<%= app %> mode=collector app:up +<% end %>``` + To restart the app container after making changes to an integration: ``` From 406f84c07d5f24a13cd7a6a57af25034b95f6b2c Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 15:54:15 +0200 Subject: [PATCH 2/9] Add collector mode to a representative set of setups Convert ruby/grape, ruby/rack, ruby/rails7-postgres, ruby/rails8-sidekiq and python/django5-celery to the agent/collector toggle. Each is split into a shared compose file plus per-mode files: the agent file keeps the existing app name, the collector file adds the AppSignal collector, points the integration at it, and reports under a `-collector` app name so the two modes stay separate in AppSignal. The Ruby apps gain the optional OpenTelemetry gems collector mode needs; they are only loaded when collector mode is active. This is the first batch; the remaining Ruby 3.1+ and Python agent setups can adopt the same pattern later. --- README.md | 5 ++ .../docker-compose.collector.yml | 9 ++ .../django5-celery/docker-compose.shared.yml | 45 ++++++++++ python/django5-celery/docker-compose.yml | 41 +-------- ruby/grape/app/Gemfile | 10 +++ ruby/grape/app/Gemfile.lock | 72 ++++++++++++++- ruby/grape/docker-compose.collector.yml | 9 ++ ruby/grape/docker-compose.shared.yml | 29 ++++++ ruby/grape/docker-compose.yml | 25 +----- ruby/rack/app/Gemfile | 10 +++ ruby/rack/app/Gemfile.lock | 73 ++++++++++++++- ruby/rack/docker-compose.collector.yml | 9 ++ ruby/rack/docker-compose.shared.yml | 29 ++++++ ruby/rack/docker-compose.yml | 25 +----- ruby/rails7-postgres/app/Gemfile | 10 +++ ruby/rails7-postgres/app/Gemfile.lock | 72 ++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../rails7-postgres/docker-compose.shared.yml | 48 ++++++++++ ruby/rails7-postgres/docker-compose.yml | 44 +--------- ruby/rails8-sidekiq/app/Gemfile | 10 +++ ruby/rails8-sidekiq/app/Gemfile.lock | 88 ++++++++++++++++++- .../docker-compose.collector.yml | 9 ++ ruby/rails8-sidekiq/docker-compose.shared.yml | 40 +++++++++ ruby/rails8-sidekiq/docker-compose.yml | 36 +------- 24 files changed, 584 insertions(+), 173 deletions(-) create mode 100644 python/django5-celery/docker-compose.collector.yml create mode 100644 python/django5-celery/docker-compose.shared.yml create mode 100644 ruby/grape/docker-compose.collector.yml create mode 100644 ruby/grape/docker-compose.shared.yml create mode 100644 ruby/rack/docker-compose.collector.yml create mode 100644 ruby/rack/docker-compose.shared.yml create mode 100644 ruby/rails7-postgres/docker-compose.collector.yml create mode 100644 ruby/rails7-postgres/docker-compose.shared.yml create mode 100644 ruby/rails8-sidekiq/docker-compose.collector.yml create mode 100644 ruby/rails8-sidekiq/docker-compose.shared.yml diff --git a/README.md b/README.md index 1c97cdce..277c5ffc 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,11 @@ local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any command (it defaults to `mode=agent`). The setups that support collector mode: ``` +rake app=python/django5-celery mode=collector app:up +rake app=ruby/grape mode=collector app:up +rake app=ruby/rack mode=collector app:up +rake app=ruby/rails7-postgres mode=collector app:up +rake app=ruby/rails8-sidekiq mode=collector app:up ``` To restart the app container after making changes to an integration: diff --git a/python/django5-celery/docker-compose.collector.yml b/python/django5-celery/docker-compose.collector.yml new file mode 100644 index 00000000..932dac9a --- /dev/null +++ b/python/django5-celery/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/django5-celery-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/django5-celery/docker-compose.shared.yml b/python/django5-celery/docker-compose.shared.yml new file mode 100644 index 00000000..71372be6 --- /dev/null +++ b/python/django5-celery/docker-compose.shared.yml @@ -0,0 +1,45 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + # ports: + # - "5432:5432" + env_file: + - postgres.env + redis: + image: "redis:6.2.7" + # ports: + # - "6379:6379" + app: + build: . + image: python/django5-celery + depends_on: + - postgres + - redis + ports: + - "4001:4001" + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + - APPSIGNAL_APP_ENV=dev + - APPSIGNAL_LOG_LEVEL=trace + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/django5-celery + - APP_URL=http://app:4001 diff --git a/python/django5-celery/docker-compose.yml b/python/django5-celery/docker-compose.yml index 950163a8..fbffc173 100644 --- a/python/django5-celery/docker-compose.yml +++ b/python/django5-celery/docker-compose.yml @@ -1,46 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - # ports: - # - "5432:5432" - env_file: - - postgres.env - redis: - image: "redis:6.2.7" - # ports: - # - "6379:6379" app: - build: . - image: python/django5-celery - depends_on: - - postgres - - redis - ports: - - "4001:4001" - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/django5-celery - - APPSIGNAL_APP_ENV=dev - - APPSIGNAL_LOG_LEVEL=trace - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/django5-celery - - APP_URL=http://app:4001 diff --git a/ruby/grape/app/Gemfile b/ruby/grape/app/Gemfile index 601e49c7..f2dd861b 100644 --- a/ruby/grape/app/Gemfile +++ b/ruby/grape/app/Gemfile @@ -4,3 +4,13 @@ gem "grape" gem "puma" gem "debug" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" diff --git a/ruby/grape/app/Gemfile.lock b/ruby/grape/app/Gemfile.lock index 15b789db..1f47640c 100644 --- a/ruby/grape/app/Gemfile.lock +++ b/ruby/grape/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (4.0.0) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -40,6 +41,14 @@ GEM dry-inflector (~> 1.0) dry-logic (~> 1.4) zeitwerk (~> 2.6) + google-protobuf (4.35.1) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) grape (2.1.1) activesupport (>= 6) dry-types (>= 1.1) @@ -52,6 +61,7 @@ GEM irb (1.13.2) rdoc (>= 4.0.0) reline (>= 0.4.2) + logger (1.7.0) minitest (5.24.0) mustermann (3.0.0) ruby2_keywords (~> 0.0.1) @@ -59,11 +69,63 @@ GEM mustermann (>= 1.0.0) mutex_m (0.2.0) nio4r (2.7.3) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) psych (5.1.2) stringio puma (6.4.2) nio4r (~> 2.0) rack (3.1.4) + rake (13.4.2) rdoc (6.7.0) psych (>= 4.0.0) reline (0.5.9) @@ -82,6 +144,12 @@ DEPENDENCIES appsignal! debug grape + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) puma BUNDLED WITH diff --git a/ruby/grape/docker-compose.collector.yml b/ruby/grape/docker-compose.collector.yml new file mode 100644 index 00000000..399479e4 --- /dev/null +++ b/ruby/grape/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/grape-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/grape/docker-compose.shared.yml b/ruby/grape/docker-compose.shared.yml new file mode 100644 index 00000000..e19495d1 --- /dev/null +++ b/ruby/grape/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/grape + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/grape + - APP_URL=http://app:4001 diff --git a/ruby/grape/docker-compose.yml b/ruby/grape/docker-compose.yml index 6c287246..ed5869b8 100644 --- a/ruby/grape/docker-compose.yml +++ b/ruby/grape/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/grape - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/grape - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/grape - - APP_URL=http://app:4001 diff --git a/ruby/rack/app/Gemfile b/ruby/rack/app/Gemfile index 950db667..8a9270fc 100644 --- a/ruby/rack/app/Gemfile +++ b/ruby/rack/app/Gemfile @@ -4,3 +4,13 @@ gem "rack" gem "puma" gem "debug" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" diff --git a/ruby/rack/app/Gemfile.lock b/ruby/rack/app/Gemfile.lock index eba71b1b..51b0d53b 100644 --- a/ruby/rack/app/Gemfile.lock +++ b/ruby/rack/app/Gemfile.lock @@ -1,25 +1,88 @@ PATH remote: /integration specs: - appsignal (3.9.1) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ specs: + bigdecimal (4.1.2) debug (1.9.2) irb (~> 1.10) reline (>= 0.3.8) + google-protobuf (4.35.1) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) io-console (0.7.2) irb (1.13.2) rdoc (>= 4.0.0) reline (>= 0.4.2) + logger (1.7.0) nio4r (2.7.3) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) psych (5.1.2) stringio puma (6.4.2) nio4r (~> 2.0) rack (3.1.4) + rake (13.4.2) rdoc (6.7.0) psych (>= 4.0.0) reline (0.5.9) @@ -33,6 +96,12 @@ PLATFORMS DEPENDENCIES appsignal! debug + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) puma rack diff --git a/ruby/rack/docker-compose.collector.yml b/ruby/rack/docker-compose.collector.yml new file mode 100644 index 00000000..8ade7cad --- /dev/null +++ b/ruby/rack/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/rack-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rack/docker-compose.shared.yml b/ruby/rack/docker-compose.shared.yml new file mode 100644 index 00000000..810a3d82 --- /dev/null +++ b/ruby/rack/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/rack + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rack + - APP_URL=http://app:4001 diff --git a/ruby/rack/docker-compose.yml b/ruby/rack/docker-compose.yml index c80c8013..6f87c757 100644 --- a/ruby/rack/docker-compose.yml +++ b/ruby/rack/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/rack - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/rack - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rack - - APP_URL=http://app:4001 diff --git a/ruby/rails7-postgres/app/Gemfile b/ruby/rails7-postgres/app/Gemfile index af8abaa1..2cfc6296 100644 --- a/ruby/rails7-postgres/app/Gemfile +++ b/ruby/rails7-postgres/app/Gemfile @@ -17,6 +17,16 @@ gem 'listen' gem 'appsignal', :path => '/integration' +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + group :development, :test do gem "rspec-rails" gem "pry" diff --git a/ruby/rails7-postgres/app/Gemfile.lock b/ruby/rails7-postgres/app/Gemfile.lock index 13524be0..f550abcb 100644 --- a/ruby/rails7-postgres/app/Gemfile.lock +++ b/ruby/rails7-postgres/app/Gemfile.lock @@ -1,9 +1,9 @@ PATH remote: /integration specs: - appsignal (4.2.3) + appsignal (4.8.0) logger - rack + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -96,6 +96,17 @@ GEM ffi (1.17.1-x86_64-linux-gnu) globalid (1.2.1) activesupport (>= 6.1) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.6) concurrent-ruby (~> 1.0) io-console (0.8.0) @@ -137,6 +148,57 @@ GEM racc (~> 1.4) nokogiri (1.18.1-x86_64-linux-gnu) racc (~> 1.4) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) pg (1.5.9) pry (0.15.2) coderay (~> 1.1) @@ -250,6 +312,12 @@ DEPENDENCIES appsignal! jbuilder (~> 2.7) listen + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg pry puma (~> 6) diff --git a/ruby/rails7-postgres/docker-compose.collector.yml b/ruby/rails7-postgres/docker-compose.collector.yml new file mode 100644 index 00000000..938d3051 --- /dev/null +++ b/ruby/rails7-postgres/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-postgres-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-postgres/docker-compose.shared.yml b/ruby/rails7-postgres/docker-compose.shared.yml new file mode 100644 index 00000000..1e1cd763 --- /dev/null +++ b/ruby/rails7-postgres/docker-compose.shared.yml @@ -0,0 +1,48 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails7-postgres + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + vector: + image: timberio/vector:0.33.0-debian + environment: + - VECTOR_LOG=debug + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + depends_on: + - postgres + volumes: + - ./vector:/etc/vector + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-postgres + - APP_URL=http://app:4001 diff --git a/ruby/rails7-postgres/docker-compose.yml b/ruby/rails7-postgres/docker-compose.yml index 0197fc3d..30f84be5 100644 --- a/ruby/rails7-postgres/docker-compose.yml +++ b/ruby/rails7-postgres/docker-compose.yml @@ -1,49 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails7-postgres - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails7-postgres - - PORT=4001 - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - vector: - image: timberio/vector:0.33.0-debian - environment: - - VECTOR_LOG=debug - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - depends_on: - - postgres - volumes: - - ./vector:/etc/vector - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-postgres - - APP_URL=http://app:4001 diff --git a/ruby/rails8-sidekiq/app/Gemfile b/ruby/rails8-sidekiq/app/Gemfile index 74bf41a7..a8466e00 100644 --- a/ruby/rails8-sidekiq/app/Gemfile +++ b/ruby/rails8-sidekiq/app/Gemfile @@ -66,6 +66,16 @@ gem "sidekiq", "8.0.0" gem "appsignal", :path => "/integration" gem "ownership" +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + # Enable these lines when testing semantic logger # gem "rails_semantic_logger", "4.17.0" # gem "semantic_logger", "4.16.1" diff --git a/ruby/rails8-sidekiq/app/Gemfile.lock b/ruby/rails8-sidekiq/app/Gemfile.lock index a7f6d157..3a4d4df9 100644 --- a/ruby/rails8-sidekiq/app/Gemfile.lock +++ b/ruby/rails8-sidekiq/app/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: /integration specs: - appsignal (4.7.5) + appsignal (4.8.0) logger rack (>= 2.0.0) @@ -121,6 +121,35 @@ GEM raabro (~> 1.4) globalid (1.2.1) activesupport (>= 6.1) + google-protobuf (4.33.6) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-aarch64-linux-musl) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-arm64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86-linux-musl) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-musl) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.7) concurrent-ruby (~> 1.0) importmap-rails (2.0.3) @@ -197,6 +226,57 @@ GEM racc (~> 1.4) nokogiri (1.18.7-x86_64-linux-musl) racc (~> 1.4) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) ostruct (0.6.1) ownership (0.4.0) parallel (1.26.3) @@ -397,6 +477,12 @@ DEPENDENCIES importmap-rails jbuilder kamal + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) ownership propshaft puma (>= 5.0) diff --git a/ruby/rails8-sidekiq/docker-compose.collector.yml b/ruby/rails8-sidekiq/docker-compose.collector.yml new file mode 100644 index 00000000..e35609e0 --- /dev/null +++ b/ruby/rails8-sidekiq/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/rails8-sidekiq-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails8-sidekiq/docker-compose.shared.yml b/ruby/rails8-sidekiq/docker-compose.shared.yml new file mode 100644 index 00000000..bb1921af --- /dev/null +++ b/ruby/rails8-sidekiq/docker-compose.shared.yml @@ -0,0 +1,40 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + redis: + image: "redis:7.4.2" + app: + build: . + image: ruby/rails8-sidekiq + depends_on: + - postgres + - redis + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - redis.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails8-sidekiq + - APP_URL=http://app:4001 diff --git a/ruby/rails8-sidekiq/docker-compose.yml b/ruby/rails8-sidekiq/docker-compose.yml index bd369bdb..96d3bc0a 100644 --- a/ruby/rails8-sidekiq/docker-compose.yml +++ b/ruby/rails8-sidekiq/docker-compose.yml @@ -1,41 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env - redis: - image: "redis:7.4.2" app: - build: . - image: ruby/rails8-sidekiq - depends_on: - - postgres - - redis - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/rails8-sidekiq - - PORT=4001 - env_file: - - postgres.env - - redis.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails8-sidekiq - - APP_URL=http://app:4001 From 68814ba2a2591f071fcb329db881211b074978e4 Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 15:56:48 +0200 Subject: [PATCH 3/9] Remove redundant django5-celery-integration-collector The django5-celery setup now supports collector mode through the mode toggle, so the separate integration-collector setup is no longer needed. Its only app-level difference, a /logs endpoint that emits log messages, is folded into django5-celery. --- README.md | 7 - .../Dockerfile | 15 -- .../app/.gitignore | 2 - .../app/__appsignal__.py | 6 - .../__init__.py | 0 .../appsignal_python_opentelemetry/asgi.py | 16 -- .../settings.py | 137 ----------- .../templates/home.html | 18 -- .../appsignal_python_opentelemetry/urls.py | 38 --- .../appsignal_python_opentelemetry/views.py | 221 ------------------ .../appsignal_python_opentelemetry/wsgi.py | 16 -- .../app/blog/__init__.py | 0 .../app/blog/admin.py | 3 - .../app/blog/apps.py | 5 - .../app/blog/migrations/0001_initial.py | 22 -- .../app/blog/migrations/__init__.py | 0 .../app/blog/models.py | 5 - .../app/blog/templates/index.html | 9 - .../app/blog/templates/show.html | 3 - .../app/blog/tests.py | 3 - .../app/blog/urls.py | 10 - .../app/blog/views.py | 24 -- .../app/manage.py | 28 --- .../app/processmon.toml | 21 -- .../app/requirements.txt | 16 -- .../app/tasks.py | 41 ---- .../commands/run | 23 -- .../docker-compose.yml | 53 ----- .../postgres.env | 4 - .../templates/home.html | 1 + .../appsignal_python_opentelemetry/urls.py | 1 + .../appsignal_python_opentelemetry/views.py | 16 ++ 32 files changed, 18 insertions(+), 746 deletions(-) delete mode 100644 python/django5-celery-integration-collector/Dockerfile delete mode 100644 python/django5-celery-integration-collector/app/.gitignore delete mode 100644 python/django5-celery-integration-collector/app/__appsignal__.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/__init__.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/asgi.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/settings.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/templates/home.html delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/urls.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/views.py delete mode 100644 python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/wsgi.py delete mode 100644 python/django5-celery-integration-collector/app/blog/__init__.py delete mode 100644 python/django5-celery-integration-collector/app/blog/admin.py delete mode 100644 python/django5-celery-integration-collector/app/blog/apps.py delete mode 100644 python/django5-celery-integration-collector/app/blog/migrations/0001_initial.py delete mode 100644 python/django5-celery-integration-collector/app/blog/migrations/__init__.py delete mode 100644 python/django5-celery-integration-collector/app/blog/models.py delete mode 100644 python/django5-celery-integration-collector/app/blog/templates/index.html delete mode 100644 python/django5-celery-integration-collector/app/blog/templates/show.html delete mode 100644 python/django5-celery-integration-collector/app/blog/tests.py delete mode 100644 python/django5-celery-integration-collector/app/blog/urls.py delete mode 100644 python/django5-celery-integration-collector/app/blog/views.py delete mode 100755 python/django5-celery-integration-collector/app/manage.py delete mode 100644 python/django5-celery-integration-collector/app/processmon.toml delete mode 100644 python/django5-celery-integration-collector/app/requirements.txt delete mode 100644 python/django5-celery-integration-collector/app/tasks.py delete mode 100644 python/django5-celery-integration-collector/commands/run delete mode 100644 python/django5-celery-integration-collector/docker-compose.yml delete mode 100644 python/django5-celery-integration-collector/postgres.env diff --git a/README.md b/README.md index 277c5ffc..76281dee 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,6 @@ rake app=python/django4-celery app:up rake app=python/django4-wsgi app:up rake app=python/django5-celery app:up rake app=python/django5-celery-collector app:up -rake app=python/django5-celery-integration-collector app:up rake app=python/fastapi app:up rake app=python/fastapi-databases app:up rake app=python/flask app:up @@ -178,7 +177,6 @@ rake app=python/django4-celery app:bot rake app=python/django4-wsgi app:bot rake app=python/django5-celery app:bot rake app=python/django5-celery-collector app:bot -rake app=python/django5-celery-integration-collector app:bot rake app=python/fastapi app:bot rake app=python/fastapi-databases app:bot rake app=python/flask app:bot @@ -288,7 +286,6 @@ rake app=python/django4-celery app:restart rake app=python/django4-wsgi app:restart rake app=python/django5-celery app:restart rake app=python/django5-celery-collector app:restart -rake app=python/django5-celery-integration-collector app:restart rake app=python/fastapi app:restart rake app=python/fastapi-databases app:restart rake app=python/flask app:restart @@ -391,7 +388,6 @@ rake app=python/django4-celery app:bash rake app=python/django4-wsgi app:bash rake app=python/django5-celery app:bash rake app=python/django5-celery-collector app:bash -rake app=python/django5-celery-integration-collector app:bash rake app=python/fastapi app:bash rake app=python/fastapi-databases app:bash rake app=python/flask app:bash @@ -494,7 +490,6 @@ rake app=python/django4-celery app:console rake app=python/django4-wsgi app:console rake app=python/django5-celery app:console rake app=python/django5-celery-collector app:console -rake app=python/django5-celery-integration-collector app:console rake app=python/fastapi app:console rake app=python/fastapi-databases app:console rake app=python/flask app:console @@ -597,7 +592,6 @@ rake app=python/django4-celery app:diagnose rake app=python/django4-wsgi app:diagnose rake app=python/django5-celery app:diagnose rake app=python/django5-celery-collector app:diagnose -rake app=python/django5-celery-integration-collector app:diagnose rake app=python/fastapi app:diagnose rake app=python/fastapi-databases app:diagnose rake app=python/flask app:diagnose @@ -700,7 +694,6 @@ rake app=python/django4-celery app:tail:appsignal rake app=python/django4-wsgi app:tail:appsignal rake app=python/django5-celery app:tail:appsignal rake app=python/django5-celery-collector app:tail:appsignal -rake app=python/django5-celery-integration-collector app:tail:appsignal rake app=python/fastapi app:tail:appsignal rake app=python/fastapi-databases app:tail:appsignal rake app=python/flask app:tail:appsignal diff --git a/python/django5-celery-integration-collector/Dockerfile b/python/django5-celery-integration-collector/Dockerfile deleted file mode 100644 index 8e98ae5a..00000000 --- a/python/django5-celery-integration-collector/Dockerfile +++ /dev/null @@ -1,15 +0,0 @@ -FROM python:3.11-bullseye - -# Update this if the docker image changes -ENV REFRESHED_AT=2023-02-08 - -RUN apt-get update && \ - apt-get install -y postgresql-client git less - -# Copy commands into the container -RUN mkdir /commands -COPY ./commands/* /commands/ -RUN chmod +x /commands/* - -# Run the app -CMD /commands/run diff --git a/python/django5-celery-integration-collector/app/.gitignore b/python/django5-celery-integration-collector/app/.gitignore deleted file mode 100644 index deccabaf..00000000 --- a/python/django5-celery-integration-collector/app/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -__pycache__ -tmp/ diff --git a/python/django5-celery-integration-collector/app/__appsignal__.py b/python/django5-celery-integration-collector/app/__appsignal__.py deleted file mode 100644 index 59b98c67..00000000 --- a/python/django5-celery-integration-collector/app/__appsignal__.py +++ /dev/null @@ -1,6 +0,0 @@ -from appsignal import Appsignal - -appsignal = Appsignal( - active=True, - environment="development" -) diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/__init__.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/asgi.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/asgi.py deleted file mode 100644 index e05d6f5e..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/asgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -ASGI config for appsignal_python_opentelemetry project. - -It exposes the ASGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/4.1/howto/deployment/asgi/ -""" - -import os - -from django.core.asgi import get_asgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'appsignal_python_opentelemetry.settings') - -application = get_asgi_application() diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/settings.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/settings.py deleted file mode 100644 index 0c7fbec6..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/settings.py +++ /dev/null @@ -1,137 +0,0 @@ -""" -Django settings for appsignal_python_opentelemetry project. - -Generated by 'django-admin startproject' using Django 4.1.2. - -For more information on this file, see -https://docs.djangoproject.com/en/4.1/topics/settings/ - -For the full list of settings and their values, see -https://docs.djangoproject.com/en/4.1/ref/settings/ -""" - -from pathlib import Path -import os -import socket - -# Build paths inside the project like this: BASE_DIR / 'subdir'. -BASE_DIR = Path(__file__).resolve().parent.parent - - -# Quick-start development settings - unsuitable for production -# See https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/ - -# SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-5j92mad%e)qasjerwqq5$ssu)r7%3)ud0r81*kq4j)l=9yj9x1' - -# SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True - -ALLOWED_HOSTS = ['app', 'localhost'] - - -# Application definition - -INSTALLED_APPS = [ - 'blog.apps.BlogConfig', - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', -] - -MIDDLEWARE = [ - 'django.middleware.security.SecurityMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.common.CommonMiddleware', - # 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.middleware.clickjacking.XFrameOptionsMiddleware', -] - -ROOT_URLCONF = 'appsignal_python_opentelemetry.urls' - -TEMPLATES = [ - { - 'BACKEND': 'django.template.backends.django.DjangoTemplates', - 'DIRS': [], - 'APP_DIRS': True, - 'OPTIONS': { - 'context_processors': [ - 'django.template.context_processors.debug', - 'django.template.context_processors.request', - 'django.contrib.auth.context_processors.auth', - 'django.contrib.messages.context_processors.messages', - ], - }, - }, - { - 'BACKEND': 'django.template.backends.jinja2.Jinja2', - 'DIRS': [ - os.path.join(BASE_DIR, 'appsignal_python_opentelemetry/templates'), - os.path.join(BASE_DIR, 'blog/templates') - ] - }, -] - -WSGI_APPLICATION = 'appsignal_python_opentelemetry.wsgi.application' - - -# Database -# https://docs.djangoproject.com/en/4.1/ref/settings/#databases - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': os.environ['POSTGRES_DB'], - 'USER': os.environ['POSTGRES_USER'], - 'PASSWORD': os.environ['POSTGRES_PASSWORD'], - 'HOST': os.environ['POSTGRES_HOST'], - 'PORT': '5432', - } -} - - -# Password validation -# https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators - -AUTH_PASSWORD_VALIDATORS = [ - { - 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', - }, - { - 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', - }, -] - - -# Internationalization -# https://docs.djangoproject.com/en/4.1/topics/i18n/ - -LANGUAGE_CODE = 'en-us' - -TIME_ZONE = 'UTC' - -USE_I18N = True - -USE_TZ = True - - -# Static files (CSS, JavaScript, Images) -# https://docs.djangoproject.com/en/4.1/howto/static-files/ - -STATIC_URL = 'static/' - -# Default primary key field type -# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field - -DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/templates/home.html b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/templates/home.html deleted file mode 100644 index a63ccb9a..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/templates/home.html +++ /dev/null @@ -1,18 +0,0 @@ -

Python OpenTelemetry app

- - diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/urls.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/urls.py deleted file mode 100644 index fec994f3..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/urls.py +++ /dev/null @@ -1,38 +0,0 @@ -"""appsignal_python_opentelemetry URL Configuration - -The `urlpatterns` list routes URLs to views. For more information please see: - https://docs.djangoproject.com/en/4.1/topics/http/urls/ -Examples: -Function views - 1. Add an import: from my_app import views - 2. Add a URL to urlpatterns: path('', views.home, name='home') -Class-based views - 1. Add an import: from other_app.views import Home - 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') -Including another URLconf - 1. Import the include() function: from django.urls import include, path - 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) -""" -from django.contrib import admin -from django.urls import include, path - -from . import views - -urlpatterns = [ - path('admin/', admin.site.urls), - path('', views.home, name='home'), - path('custom/', views.custom, name='custom'), - path('test/', views.home, name='test'), - path('slow/', views.slow, name='slow'), - path('slow_queue/', views.slow_queue, name='slow_queue'), - path('slow_queue_inline/', views.slow_queue_inline, name='slow_queue_inline'), - path('error/', views.error, name='error'), - path('custom_error/', views.custom_error, name='custom_error'), - path('error_queue/', views.error_queue, name='error_queue'), - path('error_queue_inline/', views.error_queue_inline, name='error_queue_inline'), - path('make_request/', views.make_request, name='make_request'), - path('custom_instrumentation/', views.custom_instrumentation, name='custom_instrumentation'), - path('metrics/', views.metrics, name='metrics'), - path('logs/', views.logs, name='logs'), - path('blog/', include("blog.urls")) -] diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/views.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/views.py deleted file mode 100644 index ea48cb54..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/views.py +++ /dev/null @@ -1,221 +0,0 @@ -import requests -import json -import time -from random import randrange -import datetime - -from opentelemetry import trace -from opentelemetry.metrics import get_meter - -from django.http import HttpResponse -from django.shortcuts import render - -from tasks import error_task, performance_task, performance_task2 - - -def home(request): - tracer = trace.get_tracer(__name__) - with tracer.start_as_current_span("something.custom") as span: - span.set_attribute("appsignal.request.query_parameters", json.dumps({ - "password": "super secret", - "email": "test@example.com", - "cvv": 123, - "test_param": "test value", - "nested": { - "password": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.request.payload", json.dumps({ - "password": "super secret", - "email": "test@example.com", - "cvv": 123, - "test_param": "test value", - "nested": { - "password": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.request.session_data", json.dumps({ - "token": "super secret", - "user_id": 123, - "test_param": "test value", - "nested": { - "token": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.function.parameters", json.dumps({ - "hash": "super secret", - "salt": "shoppai", - "test_param": "test value", - "nested": { - "hash": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("http.request.header.content-type", - ["application/json"]) - span.set_attribute("http.request.header.custom-header", ["abc", "def"]) - span.set_attribute("db.statement", "SELECT * FROM foo") - return render(request, 'home.html', {}) - - -def custom(request): - tracer = trace.get_tracer(__name__) - with tracer.start_as_current_span("something.custom"): - # Do something - tracer - return HttpResponse("Custom route") - - -def slow(request): - time.sleep(3) - return HttpResponse("I was slow!") - - -def slow_queue(request): - tracer = trace.get_tracer(__name__) - with tracer.start_as_current_span("queue.task"): - performance_task.delay("argument 1", "argument 2") - - with tracer.start_as_current_span("queue.task"): - performance_task2.delay("argument 3", "argument 4") - return HttpResponse("I queued an performance_task!") - - -def slow_queue_inline(request): - performance_task.apply(["argument 1", "argument 2"]) - return HttpResponse("I ran an performance_task inline!") - - -def error(request): - tracer = trace.get_tracer(__name__) - with tracer.start_as_current_span("something.custom") as span: - span.set_attribute("appsignal.request.query_parameters", json.dumps({ - "password": "super secret", - "email": "test@example.com", - "cvv": 123, - "test_param": "test value", - "nested": { - "password": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.request.payload", json.dumps({ - "password": "super secret", - "email": "test@example.com", - "cvv": 123, - "test_param": "test value", - "nested": { - "password": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.request.session_data", json.dumps({ - "token": "super secret", - "user_id": 123, - "test_param": "test value", - "nested": { - "token": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("appsignal.function.parameters", json.dumps({ - "hash": "super secret", - "salt": "shoppai", - "test_param": "test value", - "nested": { - "hash": "super secret nested", - "test_param": "test value", - } - })) - span.set_attribute("http.request.header.content-type", - ["application/json"]) - span.set_attribute("http.request.header.custom-header", ["abc", "def"]) - span.set_attribute("db.statement", "SELECT * FROM foo") - raise Exception("I am an error!") - - -def custom_error(request): - raise MyException("I am a custom error!") - - -def error_queue(request): - error_task.delay() - return HttpResponse("I queued an error_task!") - - -def error_queue_inline(request): - error_task.apply() - return HttpResponse("I ran an error_task inline!") - - -def make_request(request): - requests.get('https://www.appsignal.com/') - return HttpResponse("I did a request to appsignal.com!") - - -def custom_instrumentation(request): - tracer = trace.get_tracer(__name__) - with tracer.start_as_current_span("sleep.time"): - time.sleep(0.1) - with tracer.start_as_current_span("sleep.time"): - time.sleep(0.2) - return HttpResponse("I reported some custom instrumentation!") - - -def metrics(request): - meter = get_meter("my_meter") - - # Counter - my_counter = meter.create_counter( - "my_counter", - unit="1", - description="My counter" - ) - count_value = randrange(1, 3) - my_counter.add(count_value, {"my_tag": "tag_value"}) - - # Gauge - my_gauge = meter.create_gauge( - "my_gauge", - unit="1", - description="My gauge" - ) - gauge_value = randrange(1, 25) - my_gauge.set(gauge_value, {"my_tag": "tag_value"}) - - # Histogram - histogram = meter.create_histogram( - "my_histogram", - unit="1", - description="My histogram" - ) - histogram_value = randrange(10, 25) - histogram.record(histogram_value, {"my_tag": "tag_value"}) - - time = datetime.datetime.now() - return HttpResponse( - f"{time}: Reported metrics: Counter: {count_value}, " + - f"Gauge: {gauge_value}, Histogram: {histogram_value}\n" - ) - -def logs(request): - import logging - logging.basicConfig(level=logging.INFO) - logger = logging.getLogger("my app") - - logger.info("This is an info log") - logger.warning("This is a warning log") - logger.error("This is an error log") - try: - raise Exception("This is a test exception") - except Exception as e: - logger.exception("An exception occurred: %s", e) - - return HttpResponse("I emitted some logs to AppSignal!") - - -class MyException(Exception): - pass diff --git a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/wsgi.py b/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/wsgi.py deleted file mode 100644 index 2f4098e9..00000000 --- a/python/django5-celery-integration-collector/app/appsignal_python_opentelemetry/wsgi.py +++ /dev/null @@ -1,16 +0,0 @@ -""" -WSGI config for appsignal_python_opentelemetry project. - -It exposes the WSGI callable as a module-level variable named ``application``. - -For more information on this file, see -https://docs.djangoproject.com/en/4.1/howto/deployment/wsgi/ -""" - -import os - -from django.core.wsgi import get_wsgi_application - -os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'appsignal_python_opentelemetry.settings') - -application = get_wsgi_application() diff --git a/python/django5-celery-integration-collector/app/blog/__init__.py b/python/django5-celery-integration-collector/app/blog/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/python/django5-celery-integration-collector/app/blog/admin.py b/python/django5-celery-integration-collector/app/blog/admin.py deleted file mode 100644 index 8c38f3f3..00000000 --- a/python/django5-celery-integration-collector/app/blog/admin.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.contrib import admin - -# Register your models here. diff --git a/python/django5-celery-integration-collector/app/blog/apps.py b/python/django5-celery-integration-collector/app/blog/apps.py deleted file mode 100644 index c35af733..00000000 --- a/python/django5-celery-integration-collector/app/blog/apps.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.apps import AppConfig - -class BlogConfig(AppConfig): - default_auto_field = 'django.db.models.BigAutoField' - name = 'blog' diff --git a/python/django5-celery-integration-collector/app/blog/migrations/0001_initial.py b/python/django5-celery-integration-collector/app/blog/migrations/0001_initial.py deleted file mode 100644 index 53cc8449..00000000 --- a/python/django5-celery-integration-collector/app/blog/migrations/0001_initial.py +++ /dev/null @@ -1,22 +0,0 @@ -# Generated by Django 4.1.3 on 2023-01-06 10:58 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - - initial = True - - dependencies = [ - ] - - operations = [ - migrations.CreateModel( - name='Post', - fields=[ - ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('title', models.CharField(max_length=30)), - ('body', models.CharField(max_length=10000)), - ], - ), - ] diff --git a/python/django5-celery-integration-collector/app/blog/migrations/__init__.py b/python/django5-celery-integration-collector/app/blog/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/python/django5-celery-integration-collector/app/blog/models.py b/python/django5-celery-integration-collector/app/blog/models.py deleted file mode 100644 index e11b71fb..00000000 --- a/python/django5-celery-integration-collector/app/blog/models.py +++ /dev/null @@ -1,5 +0,0 @@ -from django.db import models - -class Post(models.Model): - title = models.CharField(max_length=30) - body = models.CharField(max_length=10000) diff --git a/python/django5-celery-integration-collector/app/blog/templates/index.html b/python/django5-celery-integration-collector/app/blog/templates/index.html deleted file mode 100644 index c0b7ba8b..00000000 --- a/python/django5-celery-integration-collector/app/blog/templates/index.html +++ /dev/null @@ -1,9 +0,0 @@ -

My blog

- -/blog/create: Create and show a new blog post - -

Value from Redis: {{ redis_value }}

- -{% for post in posts %} -

{{ post.title }}

-{% endfor %} diff --git a/python/django5-celery-integration-collector/app/blog/templates/show.html b/python/django5-celery-integration-collector/app/blog/templates/show.html deleted file mode 100644 index 403b18a5..00000000 --- a/python/django5-celery-integration-collector/app/blog/templates/show.html +++ /dev/null @@ -1,3 +0,0 @@ -

{{ post.title }}

- -

{{ post.body }}

diff --git a/python/django5-celery-integration-collector/app/blog/tests.py b/python/django5-celery-integration-collector/app/blog/tests.py deleted file mode 100644 index 7ce503c2..00000000 --- a/python/django5-celery-integration-collector/app/blog/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/python/django5-celery-integration-collector/app/blog/urls.py b/python/django5-celery-integration-collector/app/blog/urls.py deleted file mode 100644 index d911aa20..00000000 --- a/python/django5-celery-integration-collector/app/blog/urls.py +++ /dev/null @@ -1,10 +0,0 @@ -from django.contrib import admin -from django.urls import path - -from . import views - -urlpatterns = [ - path('', views.index, name='index'), - path('post/', views.show, name='show'), - path('create/', views.create, name='create'), -] diff --git a/python/django5-celery-integration-collector/app/blog/views.py b/python/django5-celery-integration-collector/app/blog/views.py deleted file mode 100644 index 294dd528..00000000 --- a/python/django5-celery-integration-collector/app/blog/views.py +++ /dev/null @@ -1,24 +0,0 @@ -import redis - -from django.shortcuts import render - -from blog.models import Post - -def index(request): - posts = Post.objects.all() - r = redis.Redis(host='redis', port=6379, db=0) - r.set('some_key', 'some_value') - redis_value = r.get('some_key') - context = { 'posts': posts, 'redis_value': redis_value } - return render(request, 'index.html', context) - -def show(request): - post = Post.objects.get(id=request.GET['id']) - context = { 'post': post } - return render(request, 'show.html', context) - -def create(request): - post = Post(title="Hello world!", body="I am the long form greeting! Hi!") - post.save() - context = { 'post': post } - return render(request, 'show.html', context) diff --git a/python/django5-celery-integration-collector/app/manage.py b/python/django5-celery-integration-collector/app/manage.py deleted file mode 100755 index 4d370438..00000000 --- a/python/django5-celery-integration-collector/app/manage.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -"""Django's command-line utility for administrative tasks.""" -import os -import sys -import requests -import redis -import appsignal - -def main(): - """Run administrative tasks.""" - os.environ["OTEL_SERVICE_NAME"] = "django-app" - os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'appsignal_python_opentelemetry.settings') - - appsignal.start() - - try: - from django.core.management import execute_from_command_line - except ImportError as exc: - raise ImportError( - "Couldn't import Django. Are you sure it's installed and " - "available on your PYTHONPATH environment variable? Did you " - "forget to activate a virtual environment?" - ) from exc - execute_from_command_line(sys.argv) - - -if __name__ == '__main__': - main() diff --git a/python/django5-celery-integration-collector/app/processmon.toml b/python/django5-celery-integration-collector/app/processmon.toml deleted file mode 100644 index 0f26e1af..00000000 --- a/python/django5-celery-integration-collector/app/processmon.toml +++ /dev/null @@ -1,21 +0,0 @@ -[[paths_to_watch]] -path = "/app" - -[processes.django] -command = "python3" -args = [ - "manage.py", - "runserver", - "0.0.0.0:4001" -] -working_dir = "/app" - -[processes.celery] -command = "celery" -args = [ - "--app=tasks", - "worker", - "--loglevel=INFO", - "--queues=high-priority,low-priority" -] -working_dir = "/app" diff --git a/python/django5-celery-integration-collector/app/requirements.txt b/python/django5-celery-integration-collector/app/requirements.txt deleted file mode 100644 index 31173161..00000000 --- a/python/django5-celery-integration-collector/app/requirements.txt +++ /dev/null @@ -1,16 +0,0 @@ -celery -appsignal -django==5.1.8 -Jinja2 -psycopg2 -redis -requests -opentelemetry-api -opentelemetry-sdk -opentelemetry-exporter-otlp-proto-http -opentelemetry-instrumentation-celery -opentelemetry-instrumentation-django==0.53b0 -opentelemetry-instrumentation-psycopg2 -opentelemetry-instrumentation-redis -opentelemetry-instrumentation-jinja2 -opentelemetry-instrumentation-requests diff --git a/python/django5-celery-integration-collector/app/tasks.py b/python/django5-celery-integration-collector/app/tasks.py deleted file mode 100644 index ed6999a0..00000000 --- a/python/django5-celery-integration-collector/app/tasks.py +++ /dev/null @@ -1,41 +0,0 @@ -import time -import os -import socket - -import appsignal -import redis -from celery import Celery -from celery.signals import worker_process_init - - -@worker_process_init.connect(weak=False) -def init_celery_tracing(*args, **kwargs): - appsignal.start() - - -app = Celery('tasks', broker='redis://redis') -app.conf.task_routes = { - 'tasks.performance_task': { 'queue': 'low-priority' }, - 'tasks.performance_task2': { 'queue': 'low-priority' }, - 'tasks.error_task': { 'queue': 'high-priority' } -} - - -@app.task -def performance_task(argument1, argument2): - r = redis.Redis(host='redis', port=6379, db=0) - r.set('some_key', 'some_value') - redis_value = r.get('some_key') - time.sleep(0.2) - - -@app.task -def performance_task2(argument1, argument2): - r = redis.Redis(host='redis', port=6379, db=0) - r.set('some_key2', 'some_value2') - redis_value = r.get('some_key2') - time.sleep(0.2) - -@app.task -def error_task(): - raise Exception("Celery error") diff --git a/python/django5-celery-integration-collector/commands/run b/python/django5-celery-integration-collector/commands/run deleted file mode 100644 index e08c5307..00000000 --- a/python/django5-celery-integration-collector/commands/run +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -set -eu - -pip3 install --upgrade pip - -cd /integration - -pip3 install hatch "click<8.3.0" -hatch clean -hatch run build:me - -cd /app - -echo "Installing dependencies" -pip3 install -r requirements.txt -pip3 install /integration/dist/* --force-reinstall - -echo "Running migrations" -python3 manage.py migrate - -echo "Starting app" -/commands/processmon processmon.toml diff --git a/python/django5-celery-integration-collector/docker-compose.yml b/python/django5-celery-integration-collector/docker-compose.yml deleted file mode 100644 index ba99141d..00000000 --- a/python/django5-celery-integration-collector/docker-compose.yml +++ /dev/null @@ -1,53 +0,0 @@ -version: '3.8' - -include: - - path: ../../support/bot/docker-compose.yml - -services: - postgres: - image: postgres - # ports: - # - "5432:5432" - env_file: - - postgres.env - redis: - image: "redis:6.2.7" - # ports: - # - "6379:6379" - appsignal-collector: - image: appsignal/collector:latest - environment: - - APPSIGNAL_LOG_LEVEL=trace - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - app: - build: . - image: python/django5-celery - depends_on: - - postgres - - redis - ports: - - "4001:4001" - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - environment: - - PORT=4001 - - APPSIGNAL_APP_NAME=python/django5-celery-integration-collector - - APPSIGNAL_APP_ENV=dev - - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/django5-celery - - APP_URL=http://app:4001 diff --git a/python/django5-celery-integration-collector/postgres.env b/python/django5-celery-integration-collector/postgres.env deleted file mode 100644 index 72254103..00000000 --- a/python/django5-celery-integration-collector/postgres.env +++ /dev/null @@ -1,4 +0,0 @@ -POSTGRES_USER=app -POSTGRES_PASSWORD=password -POSTGRES_DB=app_db -POSTGRES_HOST=postgres diff --git a/python/django5-celery/app/appsignal_python_opentelemetry/templates/home.html b/python/django5-celery/app/appsignal_python_opentelemetry/templates/home.html index c02c6108..a63ccb9a 100644 --- a/python/django5-celery/app/appsignal_python_opentelemetry/templates/home.html +++ b/python/django5-celery/app/appsignal_python_opentelemetry/templates/home.html @@ -12,6 +12,7 @@

Python OpenTelemetry app

  • /metrics: Send metrics
  • /make_request: Make a request to www.appsignal.com
  • /custom_instrumentation: Report custom instrumentation
  • +
  • /logs: Report logs
  • /blog: Query and list blog posts
  • /blog/create: Create and show a new blog post
  • diff --git a/python/django5-celery/app/appsignal_python_opentelemetry/urls.py b/python/django5-celery/app/appsignal_python_opentelemetry/urls.py index 2da2ddb0..fec994f3 100644 --- a/python/django5-celery/app/appsignal_python_opentelemetry/urls.py +++ b/python/django5-celery/app/appsignal_python_opentelemetry/urls.py @@ -33,5 +33,6 @@ path('make_request/', views.make_request, name='make_request'), path('custom_instrumentation/', views.custom_instrumentation, name='custom_instrumentation'), path('metrics/', views.metrics, name='metrics'), + path('logs/', views.logs, name='logs'), path('blog/', include("blog.urls")) ] diff --git a/python/django5-celery/app/appsignal_python_opentelemetry/views.py b/python/django5-celery/app/appsignal_python_opentelemetry/views.py index c4aa50d5..204a7411 100644 --- a/python/django5-celery/app/appsignal_python_opentelemetry/views.py +++ b/python/django5-celery/app/appsignal_python_opentelemetry/views.py @@ -202,5 +202,21 @@ def metrics(request): ) +def logs(request): + import logging + logging.basicConfig(level=logging.INFO) + logger = logging.getLogger("my app") + + logger.info("This is an info log") + logger.warning("This is a warning log") + logger.error("This is an error log") + try: + raise Exception("This is a test exception") + except Exception as e: + logger.exception("An exception occurred: %s", e) + + return HttpResponse("I emitted some logs to AppSignal!") + + class MyException(Exception): pass From cc8aecd71ad4d63588046c904c7a41fbf9d94206 Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 15:59:19 +0200 Subject: [PATCH 4/9] Rename -collector setups to -opentelemetry These setups wire up an OpenTelemetry stack by hand to send data to AppSignal through the collector. Now that integrations can do this themselves in collector mode, "-collector" is ambiguous: rename them to "-opentelemetry" to distinguish the manual setups from the integration's collector mode. Renames the directories and updates the app names, image names and test labels. The collector service and its host name are unchanged. --- README.md | 180 +++++++++--------- .../Dockerfile | 0 .../app/.formatter.exs | 0 .../app/.gitignore | 0 .../app/README.md | 0 .../app/assets/css/app.css | 0 .../app/assets/js/app.js | 0 .../app/assets/tailwind.config.js | 0 .../app/config/config.exs | 0 .../app/config/dev.exs | 0 .../app/config/prod.exs | 0 .../app/config/runtime.exs | 0 .../app/config/test.exs | 0 .../app/lib/elixir_phoenix_opentelemetry.ex | 0 .../application.ex | 0 .../elixir_phoenix_opentelemetry/mailer.ex | 0 .../lib/elixir_phoenix_opentelemetry/repo.ex | 0 .../lib/elixir_phoenix_opentelemetry_web.ex | 0 .../components/core_components.ex | 0 .../components/layouts.ex | 0 .../components/layouts/app.html.heex | 0 .../components/layouts/root.html.heex | 0 .../controllers/error_html.ex | 0 .../controllers/error_json.ex | 0 .../controllers/page_controller.ex | 0 .../controllers/page_html.ex | 0 .../controllers/page_html/index.html.eex | 0 .../controllers/page_html/slow.html.eex | 0 .../endpoint.ex | 0 .../gettext.ex | 0 .../router.ex | 0 .../telemetry.ex | 0 .../app/mix.exs | 0 .../app/mix.lock | 0 .../app/priv/gettext/en/LC_MESSAGES/errors.po | 0 .../app/priv/gettext/errors.pot | 0 .../app/priv/repo/migrations/.formatter.exs | 0 .../app/priv/repo/seeds.exs | 0 .../app/priv/static/favicon.ico | Bin .../app/priv/static/images/logo.svg | 0 .../app/priv/static/robots.txt | 0 .../app/processmon.toml | 0 .../controllers/error_html_test.exs | 0 .../controllers/error_json_test.exs | 0 .../controllers/page_controller_test.exs | 0 .../app/test/support/conn_case.ex | 0 .../app/test/support/data_case.ex | 0 .../app/test/test_helper.exs | 0 .../commands/console | 0 .../commands/diagnose | 0 .../commands/run | 0 .../docker-compose.yml | 6 +- .../postgres.env | 0 .../Dockerfile | 0 .../app/go.mod | 0 .../app/go.sum | 0 .../app/index.html | 0 .../app/main.go | 0 .../app/processmon.toml | 0 .../commands/run | 0 .../docker-compose.yml | 6 +- .../Dockerfile | 0 .../app/README.md | 0 .../app/go.mod | 0 .../app/go.sum | 0 .../app/main.go | 0 .../app/processmon.toml | 0 .../commands/run | 0 .../docker-compose.yml | 6 +- .../Dockerfile | 0 .../app/.gitignore | 0 .../app/build.gradle.kts | 0 .../app/gradle.properties | 0 .../app/gradlew | 0 .../app/settings.gradle.kts | 0 .../example/graal/Application.java | 0 .../example/graal/Controller.java | 0 .../example/graal/ElasticsearchService.java | 0 .../example/graal/SqlExecutor.java | 0 .../src/main/resources/application.properties | 0 .../commands/run | 0 .../docker-compose.yml | 4 +- .../Dockerfile | 0 .../app/.gitignore | 0 .../app/build.gradle.kts | 0 .../app/gradle.properties | 0 .../app/gradlew | 0 .../app/settings.gradle.kts | 0 .../example/graal/Application.java | 0 .../example/graal/Controller.java | 0 .../example/graal/OpenTelemetryConfig.java | 0 .../example/graal/SqlExecutor.java | 0 .../src/main/resources/application.properties | 0 .../commands/.gitkeep | 0 .../docker-compose.yml | 4 +- .../README.md | 0 .../app/.example.env | 0 .../app/.gitignore | 0 .../app/README.md | 0 .../app/eslint.config.js | 0 .../app/index.html | 0 .../app/package-lock.json | 0 .../app/package.json | 0 .../app/public/vite.svg | 0 .../app/src/App.css | 0 .../app/src/App.tsx | 0 .../app/src/Counter.css | 0 .../app/src/Counter.tsx | 0 .../app/src/ErrorBoundary.tsx | 0 .../app/src/ErrorComponent.tsx | 0 .../app/src/assets/react.svg | 0 .../app/src/index.css | 0 .../app/src/main.tsx | 0 .../app/src/telemetry.ts | 0 .../app/src/vite-env.d.ts | 0 .../app/tsconfig.app.json | 0 .../app/tsconfig.json | 0 .../app/tsconfig.node.json | 0 .../app/vite.config.ts | 0 .../commands/run | 0 .../cors/Dockerfile | 0 .../cors/README.md | 0 .../cors/nginx.conf | 0 .../docker-compose.yml | 6 +- .../Dockerfile | 0 .../app/.gitignore | 0 .../app/package-lock.json | 0 .../app/package.json | 0 .../app/processmon.toml | 0 .../app/src/app.ts | 0 .../app/src/opentelemetry.cjs | 0 .../app/tsconfig.json | 0 .../commands/run | 0 .../docker-compose.yml | 6 +- .../postgres.env | 0 .../Dockerfile | 0 .../app/.gitignore | 0 .../app/README.md | 0 .../app/app/error/page.tsx | 0 .../app/app/favicon.ico | Bin .../app/app/globals.css | 0 .../app/app/layout.tsx | 0 .../app/app/page.tsx | 0 .../app/app/slow/page.tsx | 0 .../app/instrumentation.ts | 0 .../app/next.config.ts | 0 .../app/package-lock.json | 0 .../app/package.json | 0 .../app/postcss.config.mjs | 0 .../app/public/file.svg | 0 .../app/public/globe.svg | 0 .../app/public/next.svg | 0 .../app/public/vercel.svg | 0 .../app/public/window.svg | 0 .../app/tsconfig.json | 0 .../commands/run | 0 .../docker-compose.yml | 2 +- .../app/.editorconfig | 0 .../app/.env.example | 0 .../app/.gitattributes | 0 .../app/.gitignore | 0 .../app/README.md | 0 .../Http/Controllers/BacktraceController.php | 0 .../app/app/Http/Controllers/Controller.php | 0 .../app/app/Jobs/ExampleJob.php | 0 .../app/app/Models/User.php | 0 .../app/app/Providers/AppServiceProvider.php | 0 .../app/artisan | 0 .../app/bootstrap/app.php | 0 .../app/bootstrap/cache/.gitignore | 0 .../app/bootstrap/instrumentation.php | 0 .../app/bootstrap/providers.php | 0 .../app/composer.json | 0 .../app/composer.lock | 0 .../app/config/app.php | 0 .../app/config/auth.php | 0 .../app/config/cache.php | 0 .../app/config/database.php | 0 .../app/config/filesystems.php | 0 .../app/config/logging.php | 0 .../app/config/mail.php | 0 .../app/config/queue.php | 0 .../app/config/services.php | 0 .../app/config/session.php | 0 .../app/database/.gitignore | 0 .../app/database/factories/UserFactory.php | 0 .../0001_01_01_000000_create_users_table.php | 0 .../0001_01_01_000001_create_cache_table.php | 0 .../0001_01_01_000002_create_jobs_table.php | 0 .../app/database/seeders/DatabaseSeeder.php | 0 .../app/package.json | 0 .../app/phpunit.xml | 0 .../app/public/.htaccess | 0 .../app/public/favicon.ico | 0 .../app/public/index.php | 0 .../app/public/robots.txt | 0 .../app/resources/css/app.css | 0 .../app/resources/js/app.js | 0 .../app/resources/js/bootstrap.js | 0 .../app/resources/views/backtrace.blade.php | 0 .../app/resources/views/slow.blade.php | 0 .../app/resources/views/welcome.blade.php | 0 .../app/routes/console.php | 0 .../app/routes/web.php | 0 .../app/storage/app/.gitignore | 0 .../app/storage/app/private/.gitignore | 0 .../app/storage/app/public/.gitignore | 0 .../app/storage/framework/.gitignore | 0 .../app/storage/framework/cache/.gitignore | 0 .../storage/framework/cache/data/.gitignore | 0 .../app/storage/framework/sessions/.gitignore | 0 .../app/storage/framework/testing/.gitignore | 0 .../app/storage/framework/views/.gitignore | 0 .../app/storage/logs/.gitignore | 0 .../app/tests/Feature/ExampleTest.php | 0 .../app/tests/TestCase.php | 0 .../app/tests/Unit/ExampleTest.php | 0 .../app/vite.config.js | 0 .../commands/run | 0 .../docker-compose.yml | 4 +- .../docker/Dockerfile | 0 .../docker/README | 0 .../docker/create-testing-database.sh | 0 .../docker/php.ini | 0 .../docker/start-container | 0 .../docker/supervisord.conf | 0 .../Dockerfile | 0 .../app/.editorconfig | 0 .../app/.env.dev | 0 .../app/.env.example | 0 .../app/.gitignore | 0 .../app/appsignal.php | 0 .../app/bin/console | 0 .../app/composer.json | 0 .../app/composer.lock | 0 .../app/config/bundles.php | 0 .../app/config/packages/cache.yaml | 0 .../app/config/packages/framework.yaml | 0 .../app/config/packages/http_discovery.yaml | 0 .../app/config/packages/routing.yaml | 0 .../app/config/packages/twig.yaml | 0 .../app/config/preload.php | 0 .../app/config/routes.yaml | 0 .../app/config/routes/framework.yaml | 0 .../app/config/services.yaml | 0 .../app/public/index.php | 0 .../app/src/Controller/.gitignore | 0 .../app/src/Controller/HomeController.php | 0 .../app/src/Kernel.php | 0 .../app/symfony.lock | 0 .../app/templates/backtrace.html.twig | 0 .../app/templates/base.html.twig | 0 .../app/templates/home/index.html.twig | 0 .../app/templates/home/slow.html.twig | 0 .../commands/run | 0 .../docker-compose.yml | 4 +- .../docker/apache-site.conf | 0 .../docker/php.ini | 0 .../Dockerfile | 0 .../app/bootstrap/instrumentation.php | 0 .../app/composer.json | 0 .../app/composer.lock | 0 .../app/public/.htaccess | 0 .../app/public/index.php | 0 .../app/src/ErrorHandler.php | 0 .../commands/run | 0 .../docker-compose.yml | 4 +- .../Dockerfile | 0 .../app/.gitignore | 0 .../__init__.py | 0 .../appsignal_python_opentelemetry/asgi.py | 0 .../opentelemetry.py | 0 .../settings.py | 0 .../templates/home.html | 0 .../appsignal_python_opentelemetry/urls.py | 0 .../appsignal_python_opentelemetry/views.py | 0 .../appsignal_python_opentelemetry/wsgi.py | 0 .../app/blog/__init__.py | 0 .../app/blog/admin.py | 0 .../app/blog/apps.py | 0 .../app/blog/migrations/0001_initial.py | 0 .../app/blog/migrations/__init__.py | 0 .../app/blog/models.py | 0 .../app/blog/templates/index.html | 0 .../app/blog/templates/show.html | 0 .../app/blog/tests.py | 0 .../app/blog/urls.py | 0 .../app/blog/views.py | 0 .../app/manage.py | 0 .../app/processmon.toml | 0 .../app/requirements.txt | 0 .../app/tasks.py | 0 .../commands/run | 0 .../docker-compose.yml | 2 +- .../postgres.env | 0 .../Dockerfile | 0 .../app/.dockerignore | 0 .../app/.gitattributes | 0 .../app/.github/dependabot.yml | 0 .../app/.github/workflows/ci.yml | 0 .../app/.gitignore | 0 .../app/.kamal/hooks/docker-setup.sample | 0 .../app/.kamal/hooks/post-deploy.sample | 0 .../app/.kamal/hooks/post-proxy-reboot.sample | 0 .../app/.kamal/hooks/pre-build.sample | 0 .../app/.kamal/hooks/pre-connect.sample | 0 .../app/.kamal/hooks/pre-deploy.sample | 0 .../app/.kamal/hooks/pre-proxy-reboot.sample | 0 .../app/.kamal/secrets | 0 .../app/.rubocop.yml | 0 .../app/.ruby-version | 0 .../app/Dockerfile | 0 .../app/Gemfile | 0 .../app/Gemfile.lock | 0 .../app/README.md | 0 .../app/Rakefile | 0 .../app/app/assets/images/.keep | 0 .../app/assets/stylesheets/application.css | 0 .../app/controllers/application_controller.rb | 0 .../app/app/controllers/concerns/.keep | 0 .../app/controllers/examples_controller.rb | 0 .../app/app/controllers/workers_controller.rb | 0 .../app/app/helpers/application_helper.rb | 0 .../app/app/javascript/application.js | 0 .../app/javascript/controllers/application.js | 0 .../controllers/hello_controller.js | 0 .../app/app/javascript/controllers/index.js | 0 .../app/app/jobs/application_job.rb | 0 .../app/app/mailers/application_mailer.rb | 0 .../app/app/mailers/error_mailer.rb | 0 .../app/app/mailers/performance_mailer.rb | 0 .../app/app/models/application_record.rb | 0 .../app/app/models/concerns/.keep | 0 .../app/app/views/examples/index.html.erb | 0 .../app/app/views/examples/slow.html.erb | 0 .../app/views/layouts/application.html.erb | 0 .../app/app/views/layouts/mailer.html.erb | 0 .../app/app/views/layouts/mailer.text.erb | 0 .../app/app/views/pwa/manifest.json.erb | 0 .../app/app/views/pwa/service-worker.js | 0 .../app/app/views/workers/index.html.erb | 0 .../app/workers/active_job_error_worker.rb | 0 .../workers/active_job_performance_worker.rb | 0 .../app/app/workers/error_worker.rb | 0 .../app/app/workers/performance_worker.rb | 0 .../app/bin/brakeman | 0 .../app/bin/bundle | 0 .../app/bin/dev | 0 .../app/bin/docker-entrypoint | 0 .../app/bin/importmap | 0 .../app/bin/jobs | 0 .../app/bin/kamal | 0 .../app/bin/rails | 0 .../app/bin/rake | 0 .../app/bin/rubocop | 0 .../app/bin/setup | 0 .../app/bin/thrust | 0 .../app/config.ru | 0 .../app/config/application.rb | 0 .../app/config/appsignal.rb | 0 .../app/config/boot.rb | 0 .../app/config/cable.yml | 0 .../app/config/cache.yml | 0 .../app/config/credentials.yml.enc | 0 .../app/config/database.yml | 0 .../app/config/deploy.yml | 0 .../app/config/environment.rb | 0 .../app/config/environments/development.rb | 0 .../app/config/environments/production.rb | 0 .../app/config/environments/test.rb | 0 .../app/config/importmap.rb | 0 .../app/config/initializers/assets.rb | 0 .../initializers/content_security_policy.rb | 0 .../initializers/filter_parameter_logging.rb | 0 .../app/config/initializers/inflections.rb | 0 .../app/config/initializers/opentelemetry.rb | 0 .../app/config/locales/en.yml | 0 .../app/config/puma.rb | 0 .../app/config/queue.yml | 0 .../app/config/recurring.yml | 0 .../app/config/routes.rb | 0 .../app/config/storage.yml | 0 .../app/db/cable_schema.rb | 0 .../app/db/cache_schema.rb | 0 .../app/db/queue_schema.rb | 0 .../app/db/schema.rb | 0 .../app/db/seeds.rb | 0 .../app/lib/tasks/.keep | 0 .../app/log/.keep | 0 .../app/processmon.toml | 0 .../app/public/400.html | 0 .../app/public/404.html | 0 .../app/public/406-unsupported-browser.html | 0 .../app/public/422.html | 0 .../app/public/500.html | 0 .../app/public/icon.png | Bin .../app/public/icon.svg | 0 .../app/public/robots.txt | 0 .../app/script/.keep | 0 .../app/storage/.keep | 0 .../app/test/application_system_test_case.rb | 0 .../app/test/controllers/.keep | 0 .../app/test/fixtures/files/.keep | 0 .../app/test/helpers/.keep | 0 .../app/test/integration/.keep | 0 .../app/test/mailers/.keep | 0 .../app/test/models/.keep | 0 .../app/test/system/.keep | 0 .../app/test/test_helper.rb | 0 .../app/tmp/.keep | 0 .../app/tmp/pids/.keep | 0 .../app/tmp/storage/.keep | 0 .../commands/console | 0 .../commands/diagnose | 0 .../commands/run | 0 .../docker-compose.yml | 6 +- .../postgres.env | 0 .../redis.env | 0 418 files changed, 120 insertions(+), 120 deletions(-) rename elixir/{phoenix-collector => phoenix-opentelemetry}/Dockerfile (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/.formatter.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/.gitignore (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/README.md (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/assets/css/app.css (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/assets/js/app.js (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/assets/tailwind.config.js (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/config/config.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/config/dev.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/config/prod.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/config/runtime.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/config/test.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry/application.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry/mailer.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry/repo.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/components/core_components.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/components/layouts.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/app.html.heex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/root.html.heex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_html.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_json.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_controller.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/index.html.eex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/slow.html.eex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/endpoint.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/gettext.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/router.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/lib/elixir_phoenix_opentelemetry_web/telemetry.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/mix.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/mix.lock (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/gettext/en/LC_MESSAGES/errors.po (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/gettext/errors.pot (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/repo/migrations/.formatter.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/repo/seeds.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/static/favicon.ico (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/static/images/logo.svg (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/priv/static/robots.txt (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/processmon.toml (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/elixir_phoenix_opentelemetry_web/controllers/error_html_test.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/elixir_phoenix_opentelemetry_web/controllers/error_json_test.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/elixir_phoenix_opentelemetry_web/controllers/page_controller_test.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/support/conn_case.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/support/data_case.ex (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/app/test/test_helper.exs (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/commands/console (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/commands/diagnose (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/commands/run (100%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/docker-compose.yml (84%) rename elixir/{phoenix-collector => phoenix-opentelemetry}/postgres.env (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/Dockerfile (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/app/go.mod (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/app/go.sum (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/app/index.html (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/app/main.go (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/app/processmon.toml (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/commands/run (100%) rename go/{go-gin-mysql-collector => go-gin-mysql-opentelemetry}/docker-compose.yml (86%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/Dockerfile (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/app/README.md (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/app/go.mod (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/app/go.sum (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/app/main.go (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/app/processmon.toml (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/commands/run (100%) rename go/{gorilla-mux-mysql-redis-mongo-collector => gorilla-mux-mysql-redis-mongo-opentelemetry}/docker-compose.yml (82%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/Dockerfile (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/.gitignore (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/build.gradle.kts (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/gradle.properties (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/gradlew (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/settings.gradle.kts (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/Application.java (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/Controller.java (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/ElasticsearchService.java (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/app/src/main/resources/application.properties (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/commands/run (100%) rename java/{spring-agent-collector => spring-agent-opentelemetry}/docker-compose.yml (91%) rename java/{spring-native-collector => spring-native-opentelemetry}/Dockerfile (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/.gitignore (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/build.gradle.kts (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/gradle.properties (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/gradlew (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/settings.gradle.kts (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/Application.java (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/Controller.java (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/OpenTelemetryConfig.java (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/app/src/main/resources/application.properties (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/commands/.gitkeep (100%) rename java/{spring-native-collector => spring-native-opentelemetry}/docker-compose.yml (87%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/README.md (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/.example.env (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/.gitignore (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/README.md (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/eslint.config.js (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/index.html (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/package-lock.json (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/package.json (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/public/vite.svg (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/App.css (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/App.tsx (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/Counter.css (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/Counter.tsx (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/ErrorBoundary.tsx (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/ErrorComponent.tsx (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/assets/react.svg (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/index.css (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/main.tsx (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/telemetry.ts (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/src/vite-env.d.ts (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/tsconfig.app.json (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/tsconfig.json (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/tsconfig.node.json (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/app/vite.config.ts (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/commands/run (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/cors/Dockerfile (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/cors/README.md (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/cors/nginx.conf (100%) rename javascript/{react-vite-collector => react-vite-opentelemetry}/docker-compose.yml (81%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/Dockerfile (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/.gitignore (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/package-lock.json (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/package.json (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/processmon.toml (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/src/app.ts (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/src/opentelemetry.cjs (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/app/tsconfig.json (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/commands/run (100%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/docker-compose.yml (82%) rename nodejs/{express-postgres-collector => express-postgres-opentelemetry}/postgres.env (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/Dockerfile (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/.gitignore (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/README.md (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/error/page.tsx (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/favicon.ico (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/globals.css (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/layout.tsx (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/page.tsx (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/app/slow/page.tsx (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/instrumentation.ts (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/next.config.ts (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/package-lock.json (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/package.json (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/postcss.config.mjs (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/public/file.svg (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/public/globe.svg (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/public/next.svg (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/public/vercel.svg (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/public/window.svg (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/app/tsconfig.json (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/commands/run (100%) rename nodejs/{nextjs-15-app-collector => nextjs-15-app-opentelemetry}/docker-compose.yml (91%) rename php/{laravel-collector => laravel-opentelemetry}/app/.editorconfig (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/.env.example (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/.gitattributes (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/README.md (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/app/Http/Controllers/BacktraceController.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/app/Http/Controllers/Controller.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/app/Jobs/ExampleJob.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/app/Models/User.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/app/Providers/AppServiceProvider.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/artisan (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/bootstrap/app.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/bootstrap/cache/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/bootstrap/instrumentation.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/bootstrap/providers.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/composer.json (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/composer.lock (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/app.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/auth.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/cache.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/database.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/filesystems.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/logging.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/mail.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/queue.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/services.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/config/session.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/factories/UserFactory.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/migrations/0001_01_01_000000_create_users_table.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/migrations/0001_01_01_000001_create_cache_table.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/migrations/0001_01_01_000002_create_jobs_table.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/database/seeders/DatabaseSeeder.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/package.json (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/phpunit.xml (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/public/.htaccess (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/public/favicon.ico (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/public/index.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/public/robots.txt (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/css/app.css (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/js/app.js (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/js/bootstrap.js (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/views/backtrace.blade.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/views/slow.blade.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/resources/views/welcome.blade.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/routes/console.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/routes/web.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/app/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/app/private/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/app/public/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/cache/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/cache/data/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/sessions/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/testing/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/framework/views/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/storage/logs/.gitignore (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/tests/Feature/ExampleTest.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/tests/TestCase.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/tests/Unit/ExampleTest.php (100%) rename php/{laravel-collector => laravel-opentelemetry}/app/vite.config.js (100%) rename php/{laravel-collector => laravel-opentelemetry}/commands/run (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker-compose.yml (95%) rename php/{laravel-collector => laravel-opentelemetry}/docker/Dockerfile (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker/README (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker/create-testing-database.sh (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker/php.ini (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker/start-container (100%) rename php/{laravel-collector => laravel-opentelemetry}/docker/supervisord.conf (100%) rename php/{symfony-collector => symfony-opentelemetry}/Dockerfile (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/.editorconfig (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/.env.dev (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/.env.example (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/.gitignore (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/appsignal.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/bin/console (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/composer.json (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/composer.lock (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/bundles.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/packages/cache.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/packages/framework.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/packages/http_discovery.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/packages/routing.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/packages/twig.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/preload.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/routes.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/routes/framework.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/config/services.yaml (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/public/index.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/src/Controller/.gitignore (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/src/Controller/HomeController.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/src/Kernel.php (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/symfony.lock (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/templates/backtrace.html.twig (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/templates/base.html.twig (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/templates/home/index.html.twig (100%) rename php/{symfony-collector => symfony-opentelemetry}/app/templates/home/slow.html.twig (100%) rename php/{symfony-collector => symfony-opentelemetry}/commands/run (100%) rename php/{symfony-collector => symfony-opentelemetry}/docker-compose.yml (88%) rename php/{symfony-collector => symfony-opentelemetry}/docker/apache-site.conf (100%) rename php/{symfony-collector => symfony-opentelemetry}/docker/php.ini (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/Dockerfile (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/bootstrap/instrumentation.php (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/composer.json (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/composer.lock (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/public/.htaccess (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/public/index.php (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/app/src/ErrorHandler.php (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/commands/run (100%) rename php/{vanilla-collector => vanilla-opentelemetry}/docker-compose.yml (89%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/Dockerfile (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/.gitignore (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/__init__.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/asgi.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/opentelemetry.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/settings.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/templates/home.html (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/urls.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/views.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/appsignal_python_opentelemetry/wsgi.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/__init__.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/admin.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/apps.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/migrations/0001_initial.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/migrations/__init__.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/models.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/templates/index.html (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/templates/show.html (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/tests.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/urls.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/blog/views.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/manage.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/processmon.toml (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/requirements.txt (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/app/tasks.py (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/commands/run (100%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/docker-compose.yml (93%) rename python/{django5-celery-collector => django5-celery-opentelemetry}/postgres.env (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/Dockerfile (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.dockerignore (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.gitattributes (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.github/dependabot.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.github/workflows/ci.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.gitignore (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/docker-setup.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/post-deploy.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/post-proxy-reboot.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/pre-build.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/pre-connect.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/pre-deploy.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/hooks/pre-proxy-reboot.sample (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.kamal/secrets (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.rubocop.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/.ruby-version (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/Dockerfile (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/Gemfile (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/Gemfile.lock (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/README.md (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/Rakefile (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/assets/images/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/assets/stylesheets/application.css (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/controllers/application_controller.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/controllers/concerns/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/controllers/examples_controller.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/controllers/workers_controller.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/helpers/application_helper.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/javascript/application.js (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/javascript/controllers/application.js (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/javascript/controllers/hello_controller.js (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/javascript/controllers/index.js (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/jobs/application_job.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/mailers/application_mailer.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/mailers/error_mailer.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/mailers/performance_mailer.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/models/application_record.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/models/concerns/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/examples/index.html.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/examples/slow.html.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/layouts/application.html.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/layouts/mailer.html.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/layouts/mailer.text.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/pwa/manifest.json.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/pwa/service-worker.js (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/views/workers/index.html.erb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/workers/active_job_error_worker.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/workers/active_job_performance_worker.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/workers/error_worker.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/app/workers/performance_worker.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/brakeman (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/bundle (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/dev (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/docker-entrypoint (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/importmap (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/jobs (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/kamal (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/rails (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/rake (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/rubocop (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/setup (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/bin/thrust (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config.ru (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/application.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/appsignal.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/boot.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/cable.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/cache.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/credentials.yml.enc (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/database.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/deploy.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/environment.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/environments/development.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/environments/production.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/environments/test.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/importmap.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/initializers/assets.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/initializers/content_security_policy.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/initializers/filter_parameter_logging.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/initializers/inflections.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/initializers/opentelemetry.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/locales/en.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/puma.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/queue.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/recurring.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/routes.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/config/storage.yml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/db/cable_schema.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/db/cache_schema.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/db/queue_schema.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/db/schema.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/db/seeds.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/lib/tasks/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/log/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/processmon.toml (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/400.html (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/404.html (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/406-unsupported-browser.html (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/422.html (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/500.html (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/icon.png (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/icon.svg (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/public/robots.txt (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/script/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/storage/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/application_system_test_case.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/controllers/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/fixtures/files/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/helpers/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/integration/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/mailers/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/models/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/system/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/test/test_helper.rb (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/tmp/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/tmp/pids/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/app/tmp/storage/.keep (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/commands/console (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/commands/diagnose (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/commands/run (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/docker-compose.yml (83%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/postgres.env (100%) rename ruby/{rails8-sidekiq-collector => rails8-sidekiq-opentelemetry}/redis.env (100%) diff --git a/README.md b/README.md index 76281dee..c1dffb0f 100644 --- a/README.md +++ b/README.md @@ -26,8 +26,8 @@ To start a test setup: rake app=elixir/alpine-release app:up rake app=elixir/phoenix app:up rake app=elixir/phoenix-ash app:up -rake app=elixir/phoenix-collector app:up rake app=elixir/phoenix-oban app:up +rake app=elixir/phoenix-opentelemetry app:up rake app=elixir/plug app:up rake app=elixir/plug-ecto app:up rake app=elixir/plug-oban app:up @@ -35,15 +35,15 @@ rake app=elixir/single-task app:up rake app=go/beego app:up rake app=go/beego-mod-otel app:up rake app=go/go-gin-mysql app:up -rake app=go/go-gin-mysql-collector app:up +rake app=go/go-gin-mysql-opentelemetry app:up rake app=go/gorilla-mux-mysql-redis-mongo app:up -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:up -rake app=java/spring-agent-collector app:up -rake app=java/spring-native-collector app:up +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:up +rake app=java/spring-agent-opentelemetry app:up +rake app=java/spring-native-opentelemetry app:up rake app=javascript/Dockerfile app:up rake app=javascript/ember app:up rake app=javascript/react app:up -rake app=javascript/react-vite-collector app:up +rake app=javascript/react-vite-opentelemetry app:up rake app=javascript/typescript-angular app:up rake app=javascript/vanilla app:up rake app=javascript/vue-3 app:up @@ -53,7 +53,7 @@ rake app=nodejs/express-bullmq app:up rake app=nodejs/express-elasticsearch app:up rake app=nodejs/express-mongoose app:up rake app=nodejs/express-postgres app:up -rake app=nodejs/express-postgres-collector app:up +rake app=nodejs/express-postgres-opentelemetry app:up rake app=nodejs/express-rabbitmq app:up rake app=nodejs/express-redis app:up rake app=nodejs/express-redis-alpine app:up @@ -69,20 +69,20 @@ rake app=nodejs/nestjs-prisma app:up rake app=nodejs/nextjs-13-app app:up rake app=nodejs/nextjs-14-app app:up rake app=nodejs/nextjs-14-pages app:up -rake app=nodejs/nextjs-15-app-collector app:up +rake app=nodejs/nextjs-15-app-opentelemetry app:up rake app=nodejs/remix app:up rake app=nodejs/restify app:up rake app=php/laravel app:up -rake app=php/laravel-collector app:up +rake app=php/laravel-opentelemetry app:up rake app=php/symfony app:up -rake app=php/symfony-collector app:up +rake app=php/symfony-opentelemetry app:up rake app=php/vanilla app:up -rake app=php/vanilla-collector app:up +rake app=php/vanilla-opentelemetry app:up rake app=python/django4-asgi app:up rake app=python/django4-celery app:up rake app=python/django4-wsgi app:up rake app=python/django5-celery app:up -rake app=python/django5-celery-collector app:up +rake app=python/django5-celery-opentelemetry app:up rake app=python/fastapi app:up rake app=python/fastapi-databases app:up rake app=python/flask app:up @@ -109,7 +109,7 @@ rake app=ruby/rails7-solid-cache app:up rake app=ruby/rails7-solid-queue app:up rake app=ruby/rails8-delayed-job app:up rake app=ruby/rails8-sidekiq app:up -rake app=ruby/rails8-sidekiq-collector app:up +rake app=ruby/rails8-sidekiq-opentelemetry app:up rake app=ruby/shoryuken app:up rake app=ruby/sinatra-alpine app:up rake app=ruby/sinatra-gvltools app:up @@ -133,25 +133,25 @@ page and follows a random link every 5 seconds): rake app=elixir/alpine-release app:bot rake app=elixir/phoenix app:bot rake app=elixir/phoenix-ash app:bot -rake app=elixir/phoenix-collector app:bot rake app=elixir/phoenix-oban app:bot +rake app=elixir/phoenix-opentelemetry app:bot rake app=elixir/plug app:bot rake app=elixir/plug-ecto app:bot rake app=elixir/plug-oban app:bot rake app=go/beego app:bot rake app=go/beego-mod-otel app:bot rake app=go/go-gin-mysql app:bot -rake app=go/go-gin-mysql-collector app:bot +rake app=go/go-gin-mysql-opentelemetry app:bot rake app=go/gorilla-mux-mysql-redis-mongo app:bot -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:bot -rake app=java/spring-agent-collector app:bot -rake app=java/spring-native-collector app:bot +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:bot +rake app=java/spring-agent-opentelemetry app:bot +rake app=java/spring-native-opentelemetry app:bot rake app=nodejs/express-apollo app:bot rake app=nodejs/express-bullmq app:bot rake app=nodejs/express-elasticsearch app:bot rake app=nodejs/express-mongoose app:bot rake app=nodejs/express-postgres app:bot -rake app=nodejs/express-postgres-collector app:bot +rake app=nodejs/express-postgres-opentelemetry app:bot rake app=nodejs/express-rabbitmq app:bot rake app=nodejs/express-redis app:bot rake app=nodejs/express-redis-alpine app:bot @@ -166,17 +166,17 @@ rake app=nodejs/nestjs-prisma app:bot rake app=nodejs/nextjs-13-app app:bot rake app=nodejs/nextjs-14-app app:bot rake app=nodejs/nextjs-14-pages app:bot -rake app=nodejs/nextjs-15-app-collector app:bot +rake app=nodejs/nextjs-15-app-opentelemetry app:bot rake app=nodejs/remix app:bot rake app=nodejs/restify app:bot -rake app=php/laravel-collector app:bot -rake app=php/symfony-collector app:bot -rake app=php/vanilla-collector app:bot +rake app=php/laravel-opentelemetry app:bot +rake app=php/symfony-opentelemetry app:bot +rake app=php/vanilla-opentelemetry app:bot rake app=python/django4-asgi app:bot rake app=python/django4-celery app:bot rake app=python/django4-wsgi app:bot rake app=python/django5-celery app:bot -rake app=python/django5-celery-collector app:bot +rake app=python/django5-celery-opentelemetry app:bot rake app=python/fastapi app:bot rake app=python/fastapi-databases app:bot rake app=python/flask app:bot @@ -201,7 +201,7 @@ rake app=ruby/rails7-sidekiq app:bot rake app=ruby/rails7-solid-cache app:bot rake app=ruby/rails7-solid-queue app:bot rake app=ruby/rails8-sidekiq app:bot -rake app=ruby/rails8-sidekiq-collector app:bot +rake app=ruby/rails8-sidekiq-opentelemetry app:bot rake app=ruby/sinatra-alpine app:bot rake app=ruby/sinatra-gvltools app:bot rake app=ruby/sinatra-puma app:bot @@ -229,8 +229,8 @@ To restart the app container after making changes to an integration: rake app=elixir/alpine-release app:restart rake app=elixir/phoenix app:restart rake app=elixir/phoenix-ash app:restart -rake app=elixir/phoenix-collector app:restart rake app=elixir/phoenix-oban app:restart +rake app=elixir/phoenix-opentelemetry app:restart rake app=elixir/plug app:restart rake app=elixir/plug-ecto app:restart rake app=elixir/plug-oban app:restart @@ -238,15 +238,15 @@ rake app=elixir/single-task app:restart rake app=go/beego app:restart rake app=go/beego-mod-otel app:restart rake app=go/go-gin-mysql app:restart -rake app=go/go-gin-mysql-collector app:restart +rake app=go/go-gin-mysql-opentelemetry app:restart rake app=go/gorilla-mux-mysql-redis-mongo app:restart -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:restart -rake app=java/spring-agent-collector app:restart -rake app=java/spring-native-collector app:restart +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:restart +rake app=java/spring-agent-opentelemetry app:restart +rake app=java/spring-native-opentelemetry app:restart rake app=javascript/Dockerfile app:restart rake app=javascript/ember app:restart rake app=javascript/react app:restart -rake app=javascript/react-vite-collector app:restart +rake app=javascript/react-vite-opentelemetry app:restart rake app=javascript/typescript-angular app:restart rake app=javascript/vanilla app:restart rake app=javascript/vue-3 app:restart @@ -256,7 +256,7 @@ rake app=nodejs/express-bullmq app:restart rake app=nodejs/express-elasticsearch app:restart rake app=nodejs/express-mongoose app:restart rake app=nodejs/express-postgres app:restart -rake app=nodejs/express-postgres-collector app:restart +rake app=nodejs/express-postgres-opentelemetry app:restart rake app=nodejs/express-rabbitmq app:restart rake app=nodejs/express-redis app:restart rake app=nodejs/express-redis-alpine app:restart @@ -272,20 +272,20 @@ rake app=nodejs/nestjs-prisma app:restart rake app=nodejs/nextjs-13-app app:restart rake app=nodejs/nextjs-14-app app:restart rake app=nodejs/nextjs-14-pages app:restart -rake app=nodejs/nextjs-15-app-collector app:restart +rake app=nodejs/nextjs-15-app-opentelemetry app:restart rake app=nodejs/remix app:restart rake app=nodejs/restify app:restart rake app=php/laravel app:restart -rake app=php/laravel-collector app:restart +rake app=php/laravel-opentelemetry app:restart rake app=php/symfony app:restart -rake app=php/symfony-collector app:restart +rake app=php/symfony-opentelemetry app:restart rake app=php/vanilla app:restart -rake app=php/vanilla-collector app:restart +rake app=php/vanilla-opentelemetry app:restart rake app=python/django4-asgi app:restart rake app=python/django4-celery app:restart rake app=python/django4-wsgi app:restart rake app=python/django5-celery app:restart -rake app=python/django5-celery-collector app:restart +rake app=python/django5-celery-opentelemetry app:restart rake app=python/fastapi app:restart rake app=python/fastapi-databases app:restart rake app=python/flask app:restart @@ -312,7 +312,7 @@ rake app=ruby/rails7-solid-cache app:restart rake app=ruby/rails7-solid-queue app:restart rake app=ruby/rails8-delayed-job app:restart rake app=ruby/rails8-sidekiq app:restart -rake app=ruby/rails8-sidekiq-collector app:restart +rake app=ruby/rails8-sidekiq-opentelemetry app:restart rake app=ruby/shoryuken app:restart rake app=ruby/sinatra-alpine app:restart rake app=ruby/sinatra-gvltools app:restart @@ -331,8 +331,8 @@ To run bash: rake app=elixir/alpine-release app:bash rake app=elixir/phoenix app:bash rake app=elixir/phoenix-ash app:bash -rake app=elixir/phoenix-collector app:bash rake app=elixir/phoenix-oban app:bash +rake app=elixir/phoenix-opentelemetry app:bash rake app=elixir/plug app:bash rake app=elixir/plug-ecto app:bash rake app=elixir/plug-oban app:bash @@ -340,15 +340,15 @@ rake app=elixir/single-task app:bash rake app=go/beego app:bash rake app=go/beego-mod-otel app:bash rake app=go/go-gin-mysql app:bash -rake app=go/go-gin-mysql-collector app:bash +rake app=go/go-gin-mysql-opentelemetry app:bash rake app=go/gorilla-mux-mysql-redis-mongo app:bash -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:bash -rake app=java/spring-agent-collector app:bash -rake app=java/spring-native-collector app:bash +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:bash +rake app=java/spring-agent-opentelemetry app:bash +rake app=java/spring-native-opentelemetry app:bash rake app=javascript/Dockerfile app:bash rake app=javascript/ember app:bash rake app=javascript/react app:bash -rake app=javascript/react-vite-collector app:bash +rake app=javascript/react-vite-opentelemetry app:bash rake app=javascript/typescript-angular app:bash rake app=javascript/vanilla app:bash rake app=javascript/vue-3 app:bash @@ -358,7 +358,7 @@ rake app=nodejs/express-bullmq app:bash rake app=nodejs/express-elasticsearch app:bash rake app=nodejs/express-mongoose app:bash rake app=nodejs/express-postgres app:bash -rake app=nodejs/express-postgres-collector app:bash +rake app=nodejs/express-postgres-opentelemetry app:bash rake app=nodejs/express-rabbitmq app:bash rake app=nodejs/express-redis app:bash rake app=nodejs/express-redis-alpine app:bash @@ -374,20 +374,20 @@ rake app=nodejs/nestjs-prisma app:bash rake app=nodejs/nextjs-13-app app:bash rake app=nodejs/nextjs-14-app app:bash rake app=nodejs/nextjs-14-pages app:bash -rake app=nodejs/nextjs-15-app-collector app:bash +rake app=nodejs/nextjs-15-app-opentelemetry app:bash rake app=nodejs/remix app:bash rake app=nodejs/restify app:bash rake app=php/laravel app:bash -rake app=php/laravel-collector app:bash +rake app=php/laravel-opentelemetry app:bash rake app=php/symfony app:bash -rake app=php/symfony-collector app:bash +rake app=php/symfony-opentelemetry app:bash rake app=php/vanilla app:bash -rake app=php/vanilla-collector app:bash +rake app=php/vanilla-opentelemetry app:bash rake app=python/django4-asgi app:bash rake app=python/django4-celery app:bash rake app=python/django4-wsgi app:bash rake app=python/django5-celery app:bash -rake app=python/django5-celery-collector app:bash +rake app=python/django5-celery-opentelemetry app:bash rake app=python/fastapi app:bash rake app=python/fastapi-databases app:bash rake app=python/flask app:bash @@ -414,7 +414,7 @@ rake app=ruby/rails7-solid-cache app:bash rake app=ruby/rails7-solid-queue app:bash rake app=ruby/rails8-delayed-job app:bash rake app=ruby/rails8-sidekiq app:bash -rake app=ruby/rails8-sidekiq-collector app:bash +rake app=ruby/rails8-sidekiq-opentelemetry app:bash rake app=ruby/shoryuken app:bash rake app=ruby/sinatra-alpine app:bash rake app=ruby/sinatra-gvltools app:bash @@ -433,8 +433,8 @@ To run the console (if implemented in the test app): rake app=elixir/alpine-release app:console rake app=elixir/phoenix app:console rake app=elixir/phoenix-ash app:console -rake app=elixir/phoenix-collector app:console rake app=elixir/phoenix-oban app:console +rake app=elixir/phoenix-opentelemetry app:console rake app=elixir/plug app:console rake app=elixir/plug-ecto app:console rake app=elixir/plug-oban app:console @@ -442,15 +442,15 @@ rake app=elixir/single-task app:console rake app=go/beego app:console rake app=go/beego-mod-otel app:console rake app=go/go-gin-mysql app:console -rake app=go/go-gin-mysql-collector app:console +rake app=go/go-gin-mysql-opentelemetry app:console rake app=go/gorilla-mux-mysql-redis-mongo app:console -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:console -rake app=java/spring-agent-collector app:console -rake app=java/spring-native-collector app:console +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:console +rake app=java/spring-agent-opentelemetry app:console +rake app=java/spring-native-opentelemetry app:console rake app=javascript/Dockerfile app:console rake app=javascript/ember app:console rake app=javascript/react app:console -rake app=javascript/react-vite-collector app:console +rake app=javascript/react-vite-opentelemetry app:console rake app=javascript/typescript-angular app:console rake app=javascript/vanilla app:console rake app=javascript/vue-3 app:console @@ -460,7 +460,7 @@ rake app=nodejs/express-bullmq app:console rake app=nodejs/express-elasticsearch app:console rake app=nodejs/express-mongoose app:console rake app=nodejs/express-postgres app:console -rake app=nodejs/express-postgres-collector app:console +rake app=nodejs/express-postgres-opentelemetry app:console rake app=nodejs/express-rabbitmq app:console rake app=nodejs/express-redis app:console rake app=nodejs/express-redis-alpine app:console @@ -476,20 +476,20 @@ rake app=nodejs/nestjs-prisma app:console rake app=nodejs/nextjs-13-app app:console rake app=nodejs/nextjs-14-app app:console rake app=nodejs/nextjs-14-pages app:console -rake app=nodejs/nextjs-15-app-collector app:console +rake app=nodejs/nextjs-15-app-opentelemetry app:console rake app=nodejs/remix app:console rake app=nodejs/restify app:console rake app=php/laravel app:console -rake app=php/laravel-collector app:console +rake app=php/laravel-opentelemetry app:console rake app=php/symfony app:console -rake app=php/symfony-collector app:console +rake app=php/symfony-opentelemetry app:console rake app=php/vanilla app:console -rake app=php/vanilla-collector app:console +rake app=php/vanilla-opentelemetry app:console rake app=python/django4-asgi app:console rake app=python/django4-celery app:console rake app=python/django4-wsgi app:console rake app=python/django5-celery app:console -rake app=python/django5-celery-collector app:console +rake app=python/django5-celery-opentelemetry app:console rake app=python/fastapi app:console rake app=python/fastapi-databases app:console rake app=python/flask app:console @@ -516,7 +516,7 @@ rake app=ruby/rails7-solid-cache app:console rake app=ruby/rails7-solid-queue app:console rake app=ruby/rails8-delayed-job app:console rake app=ruby/rails8-sidekiq app:console -rake app=ruby/rails8-sidekiq-collector app:console +rake app=ruby/rails8-sidekiq-opentelemetry app:console rake app=ruby/shoryuken app:console rake app=ruby/sinatra-alpine app:console rake app=ruby/sinatra-gvltools app:console @@ -535,8 +535,8 @@ To send in a diagnose (if implemented in the test app); rake app=elixir/alpine-release app:diagnose rake app=elixir/phoenix app:diagnose rake app=elixir/phoenix-ash app:diagnose -rake app=elixir/phoenix-collector app:diagnose rake app=elixir/phoenix-oban app:diagnose +rake app=elixir/phoenix-opentelemetry app:diagnose rake app=elixir/plug app:diagnose rake app=elixir/plug-ecto app:diagnose rake app=elixir/plug-oban app:diagnose @@ -544,15 +544,15 @@ rake app=elixir/single-task app:diagnose rake app=go/beego app:diagnose rake app=go/beego-mod-otel app:diagnose rake app=go/go-gin-mysql app:diagnose -rake app=go/go-gin-mysql-collector app:diagnose +rake app=go/go-gin-mysql-opentelemetry app:diagnose rake app=go/gorilla-mux-mysql-redis-mongo app:diagnose -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:diagnose -rake app=java/spring-agent-collector app:diagnose -rake app=java/spring-native-collector app:diagnose +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:diagnose +rake app=java/spring-agent-opentelemetry app:diagnose +rake app=java/spring-native-opentelemetry app:diagnose rake app=javascript/Dockerfile app:diagnose rake app=javascript/ember app:diagnose rake app=javascript/react app:diagnose -rake app=javascript/react-vite-collector app:diagnose +rake app=javascript/react-vite-opentelemetry app:diagnose rake app=javascript/typescript-angular app:diagnose rake app=javascript/vanilla app:diagnose rake app=javascript/vue-3 app:diagnose @@ -562,7 +562,7 @@ rake app=nodejs/express-bullmq app:diagnose rake app=nodejs/express-elasticsearch app:diagnose rake app=nodejs/express-mongoose app:diagnose rake app=nodejs/express-postgres app:diagnose -rake app=nodejs/express-postgres-collector app:diagnose +rake app=nodejs/express-postgres-opentelemetry app:diagnose rake app=nodejs/express-rabbitmq app:diagnose rake app=nodejs/express-redis app:diagnose rake app=nodejs/express-redis-alpine app:diagnose @@ -578,20 +578,20 @@ rake app=nodejs/nestjs-prisma app:diagnose rake app=nodejs/nextjs-13-app app:diagnose rake app=nodejs/nextjs-14-app app:diagnose rake app=nodejs/nextjs-14-pages app:diagnose -rake app=nodejs/nextjs-15-app-collector app:diagnose +rake app=nodejs/nextjs-15-app-opentelemetry app:diagnose rake app=nodejs/remix app:diagnose rake app=nodejs/restify app:diagnose rake app=php/laravel app:diagnose -rake app=php/laravel-collector app:diagnose +rake app=php/laravel-opentelemetry app:diagnose rake app=php/symfony app:diagnose -rake app=php/symfony-collector app:diagnose +rake app=php/symfony-opentelemetry app:diagnose rake app=php/vanilla app:diagnose -rake app=php/vanilla-collector app:diagnose +rake app=php/vanilla-opentelemetry app:diagnose rake app=python/django4-asgi app:diagnose rake app=python/django4-celery app:diagnose rake app=python/django4-wsgi app:diagnose rake app=python/django5-celery app:diagnose -rake app=python/django5-celery-collector app:diagnose +rake app=python/django5-celery-opentelemetry app:diagnose rake app=python/fastapi app:diagnose rake app=python/fastapi-databases app:diagnose rake app=python/flask app:diagnose @@ -618,7 +618,7 @@ rake app=ruby/rails7-solid-cache app:diagnose rake app=ruby/rails7-solid-queue app:diagnose rake app=ruby/rails8-delayed-job app:diagnose rake app=ruby/rails8-sidekiq app:diagnose -rake app=ruby/rails8-sidekiq-collector app:diagnose +rake app=ruby/rails8-sidekiq-opentelemetry app:diagnose rake app=ruby/shoryuken app:diagnose rake app=ruby/sinatra-alpine app:diagnose rake app=ruby/sinatra-gvltools app:diagnose @@ -637,8 +637,8 @@ Tail the appsignal log: rake app=elixir/alpine-release app:tail:appsignal rake app=elixir/phoenix app:tail:appsignal rake app=elixir/phoenix-ash app:tail:appsignal -rake app=elixir/phoenix-collector app:tail:appsignal rake app=elixir/phoenix-oban app:tail:appsignal +rake app=elixir/phoenix-opentelemetry app:tail:appsignal rake app=elixir/plug app:tail:appsignal rake app=elixir/plug-ecto app:tail:appsignal rake app=elixir/plug-oban app:tail:appsignal @@ -646,15 +646,15 @@ rake app=elixir/single-task app:tail:appsignal rake app=go/beego app:tail:appsignal rake app=go/beego-mod-otel app:tail:appsignal rake app=go/go-gin-mysql app:tail:appsignal -rake app=go/go-gin-mysql-collector app:tail:appsignal +rake app=go/go-gin-mysql-opentelemetry app:tail:appsignal rake app=go/gorilla-mux-mysql-redis-mongo app:tail:appsignal -rake app=go/gorilla-mux-mysql-redis-mongo-collector app:tail:appsignal -rake app=java/spring-agent-collector app:tail:appsignal -rake app=java/spring-native-collector app:tail:appsignal +rake app=go/gorilla-mux-mysql-redis-mongo-opentelemetry app:tail:appsignal +rake app=java/spring-agent-opentelemetry app:tail:appsignal +rake app=java/spring-native-opentelemetry app:tail:appsignal rake app=javascript/Dockerfile app:tail:appsignal rake app=javascript/ember app:tail:appsignal rake app=javascript/react app:tail:appsignal -rake app=javascript/react-vite-collector app:tail:appsignal +rake app=javascript/react-vite-opentelemetry app:tail:appsignal rake app=javascript/typescript-angular app:tail:appsignal rake app=javascript/vanilla app:tail:appsignal rake app=javascript/vue-3 app:tail:appsignal @@ -664,7 +664,7 @@ rake app=nodejs/express-bullmq app:tail:appsignal rake app=nodejs/express-elasticsearch app:tail:appsignal rake app=nodejs/express-mongoose app:tail:appsignal rake app=nodejs/express-postgres app:tail:appsignal -rake app=nodejs/express-postgres-collector app:tail:appsignal +rake app=nodejs/express-postgres-opentelemetry app:tail:appsignal rake app=nodejs/express-rabbitmq app:tail:appsignal rake app=nodejs/express-redis app:tail:appsignal rake app=nodejs/express-redis-alpine app:tail:appsignal @@ -680,20 +680,20 @@ rake app=nodejs/nestjs-prisma app:tail:appsignal rake app=nodejs/nextjs-13-app app:tail:appsignal rake app=nodejs/nextjs-14-app app:tail:appsignal rake app=nodejs/nextjs-14-pages app:tail:appsignal -rake app=nodejs/nextjs-15-app-collector app:tail:appsignal +rake app=nodejs/nextjs-15-app-opentelemetry app:tail:appsignal rake app=nodejs/remix app:tail:appsignal rake app=nodejs/restify app:tail:appsignal rake app=php/laravel app:tail:appsignal -rake app=php/laravel-collector app:tail:appsignal +rake app=php/laravel-opentelemetry app:tail:appsignal rake app=php/symfony app:tail:appsignal -rake app=php/symfony-collector app:tail:appsignal +rake app=php/symfony-opentelemetry app:tail:appsignal rake app=php/vanilla app:tail:appsignal -rake app=php/vanilla-collector app:tail:appsignal +rake app=php/vanilla-opentelemetry app:tail:appsignal rake app=python/django4-asgi app:tail:appsignal rake app=python/django4-celery app:tail:appsignal rake app=python/django4-wsgi app:tail:appsignal rake app=python/django5-celery app:tail:appsignal -rake app=python/django5-celery-collector app:tail:appsignal +rake app=python/django5-celery-opentelemetry app:tail:appsignal rake app=python/fastapi app:tail:appsignal rake app=python/fastapi-databases app:tail:appsignal rake app=python/flask app:tail:appsignal @@ -720,7 +720,7 @@ rake app=ruby/rails7-solid-cache app:tail:appsignal rake app=ruby/rails7-solid-queue app:tail:appsignal rake app=ruby/rails8-delayed-job app:tail:appsignal rake app=ruby/rails8-sidekiq app:tail:appsignal -rake app=ruby/rails8-sidekiq-collector app:tail:appsignal +rake app=ruby/rails8-sidekiq-opentelemetry app:tail:appsignal rake app=ruby/shoryuken app:tail:appsignal rake app=ruby/sinatra-alpine app:tail:appsignal rake app=ruby/sinatra-gvltools app:tail:appsignal diff --git a/elixir/phoenix-collector/Dockerfile b/elixir/phoenix-opentelemetry/Dockerfile similarity index 100% rename from elixir/phoenix-collector/Dockerfile rename to elixir/phoenix-opentelemetry/Dockerfile diff --git a/elixir/phoenix-collector/app/.formatter.exs b/elixir/phoenix-opentelemetry/app/.formatter.exs similarity index 100% rename from elixir/phoenix-collector/app/.formatter.exs rename to elixir/phoenix-opentelemetry/app/.formatter.exs diff --git a/elixir/phoenix-collector/app/.gitignore b/elixir/phoenix-opentelemetry/app/.gitignore similarity index 100% rename from elixir/phoenix-collector/app/.gitignore rename to elixir/phoenix-opentelemetry/app/.gitignore diff --git a/elixir/phoenix-collector/app/README.md b/elixir/phoenix-opentelemetry/app/README.md similarity index 100% rename from elixir/phoenix-collector/app/README.md rename to elixir/phoenix-opentelemetry/app/README.md diff --git a/elixir/phoenix-collector/app/assets/css/app.css b/elixir/phoenix-opentelemetry/app/assets/css/app.css similarity index 100% rename from elixir/phoenix-collector/app/assets/css/app.css rename to elixir/phoenix-opentelemetry/app/assets/css/app.css diff --git a/elixir/phoenix-collector/app/assets/js/app.js b/elixir/phoenix-opentelemetry/app/assets/js/app.js similarity index 100% rename from elixir/phoenix-collector/app/assets/js/app.js rename to elixir/phoenix-opentelemetry/app/assets/js/app.js diff --git a/elixir/phoenix-collector/app/assets/tailwind.config.js b/elixir/phoenix-opentelemetry/app/assets/tailwind.config.js similarity index 100% rename from elixir/phoenix-collector/app/assets/tailwind.config.js rename to elixir/phoenix-opentelemetry/app/assets/tailwind.config.js diff --git a/elixir/phoenix-collector/app/config/config.exs b/elixir/phoenix-opentelemetry/app/config/config.exs similarity index 100% rename from elixir/phoenix-collector/app/config/config.exs rename to elixir/phoenix-opentelemetry/app/config/config.exs diff --git a/elixir/phoenix-collector/app/config/dev.exs b/elixir/phoenix-opentelemetry/app/config/dev.exs similarity index 100% rename from elixir/phoenix-collector/app/config/dev.exs rename to elixir/phoenix-opentelemetry/app/config/dev.exs diff --git a/elixir/phoenix-collector/app/config/prod.exs b/elixir/phoenix-opentelemetry/app/config/prod.exs similarity index 100% rename from elixir/phoenix-collector/app/config/prod.exs rename to elixir/phoenix-opentelemetry/app/config/prod.exs diff --git a/elixir/phoenix-collector/app/config/runtime.exs b/elixir/phoenix-opentelemetry/app/config/runtime.exs similarity index 100% rename from elixir/phoenix-collector/app/config/runtime.exs rename to elixir/phoenix-opentelemetry/app/config/runtime.exs diff --git a/elixir/phoenix-collector/app/config/test.exs b/elixir/phoenix-opentelemetry/app/config/test.exs similarity index 100% rename from elixir/phoenix-collector/app/config/test.exs rename to elixir/phoenix-opentelemetry/app/config/test.exs diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/application.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/application.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/application.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/application.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/mailer.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/mailer.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/mailer.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/mailer.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/repo.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/repo.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry/repo.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry/repo.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/core_components.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/core_components.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/core_components.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/core_components.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/app.html.heex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/app.html.heex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/app.html.heex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/app.html.heex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/root.html.heex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/root.html.heex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/root.html.heex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/components/layouts/root.html.heex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_html.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_html.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_html.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_html.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_json.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_json.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_json.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/error_json.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_controller.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_controller.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_controller.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_controller.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/index.html.eex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/index.html.eex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/index.html.eex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/index.html.eex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/slow.html.eex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/slow.html.eex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/slow.html.eex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/controllers/page_html/slow.html.eex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/endpoint.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/endpoint.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/endpoint.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/endpoint.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/gettext.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/gettext.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/gettext.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/gettext.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/router.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/router.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/router.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/router.ex diff --git a/elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/telemetry.ex b/elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/telemetry.ex similarity index 100% rename from elixir/phoenix-collector/app/lib/elixir_phoenix_opentelemetry_web/telemetry.ex rename to elixir/phoenix-opentelemetry/app/lib/elixir_phoenix_opentelemetry_web/telemetry.ex diff --git a/elixir/phoenix-collector/app/mix.exs b/elixir/phoenix-opentelemetry/app/mix.exs similarity index 100% rename from elixir/phoenix-collector/app/mix.exs rename to elixir/phoenix-opentelemetry/app/mix.exs diff --git a/elixir/phoenix-collector/app/mix.lock b/elixir/phoenix-opentelemetry/app/mix.lock similarity index 100% rename from elixir/phoenix-collector/app/mix.lock rename to elixir/phoenix-opentelemetry/app/mix.lock diff --git a/elixir/phoenix-collector/app/priv/gettext/en/LC_MESSAGES/errors.po b/elixir/phoenix-opentelemetry/app/priv/gettext/en/LC_MESSAGES/errors.po similarity index 100% rename from elixir/phoenix-collector/app/priv/gettext/en/LC_MESSAGES/errors.po rename to elixir/phoenix-opentelemetry/app/priv/gettext/en/LC_MESSAGES/errors.po diff --git a/elixir/phoenix-collector/app/priv/gettext/errors.pot b/elixir/phoenix-opentelemetry/app/priv/gettext/errors.pot similarity index 100% rename from elixir/phoenix-collector/app/priv/gettext/errors.pot rename to elixir/phoenix-opentelemetry/app/priv/gettext/errors.pot diff --git a/elixir/phoenix-collector/app/priv/repo/migrations/.formatter.exs b/elixir/phoenix-opentelemetry/app/priv/repo/migrations/.formatter.exs similarity index 100% rename from elixir/phoenix-collector/app/priv/repo/migrations/.formatter.exs rename to elixir/phoenix-opentelemetry/app/priv/repo/migrations/.formatter.exs diff --git a/elixir/phoenix-collector/app/priv/repo/seeds.exs b/elixir/phoenix-opentelemetry/app/priv/repo/seeds.exs similarity index 100% rename from elixir/phoenix-collector/app/priv/repo/seeds.exs rename to elixir/phoenix-opentelemetry/app/priv/repo/seeds.exs diff --git a/elixir/phoenix-collector/app/priv/static/favicon.ico b/elixir/phoenix-opentelemetry/app/priv/static/favicon.ico similarity index 100% rename from elixir/phoenix-collector/app/priv/static/favicon.ico rename to elixir/phoenix-opentelemetry/app/priv/static/favicon.ico diff --git a/elixir/phoenix-collector/app/priv/static/images/logo.svg b/elixir/phoenix-opentelemetry/app/priv/static/images/logo.svg similarity index 100% rename from elixir/phoenix-collector/app/priv/static/images/logo.svg rename to elixir/phoenix-opentelemetry/app/priv/static/images/logo.svg diff --git a/elixir/phoenix-collector/app/priv/static/robots.txt b/elixir/phoenix-opentelemetry/app/priv/static/robots.txt similarity index 100% rename from elixir/phoenix-collector/app/priv/static/robots.txt rename to elixir/phoenix-opentelemetry/app/priv/static/robots.txt diff --git a/elixir/phoenix-collector/app/processmon.toml b/elixir/phoenix-opentelemetry/app/processmon.toml similarity index 100% rename from elixir/phoenix-collector/app/processmon.toml rename to elixir/phoenix-opentelemetry/app/processmon.toml diff --git a/elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/error_html_test.exs b/elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/error_html_test.exs similarity index 100% rename from elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/error_html_test.exs rename to elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/error_html_test.exs diff --git a/elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/error_json_test.exs b/elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/error_json_test.exs similarity index 100% rename from elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/error_json_test.exs rename to elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/error_json_test.exs diff --git a/elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/page_controller_test.exs b/elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/page_controller_test.exs similarity index 100% rename from elixir/phoenix-collector/app/test/elixir_phoenix_opentelemetry_web/controllers/page_controller_test.exs rename to elixir/phoenix-opentelemetry/app/test/elixir_phoenix_opentelemetry_web/controllers/page_controller_test.exs diff --git a/elixir/phoenix-collector/app/test/support/conn_case.ex b/elixir/phoenix-opentelemetry/app/test/support/conn_case.ex similarity index 100% rename from elixir/phoenix-collector/app/test/support/conn_case.ex rename to elixir/phoenix-opentelemetry/app/test/support/conn_case.ex diff --git a/elixir/phoenix-collector/app/test/support/data_case.ex b/elixir/phoenix-opentelemetry/app/test/support/data_case.ex similarity index 100% rename from elixir/phoenix-collector/app/test/support/data_case.ex rename to elixir/phoenix-opentelemetry/app/test/support/data_case.ex diff --git a/elixir/phoenix-collector/app/test/test_helper.exs b/elixir/phoenix-opentelemetry/app/test/test_helper.exs similarity index 100% rename from elixir/phoenix-collector/app/test/test_helper.exs rename to elixir/phoenix-opentelemetry/app/test/test_helper.exs diff --git a/elixir/phoenix-collector/commands/console b/elixir/phoenix-opentelemetry/commands/console similarity index 100% rename from elixir/phoenix-collector/commands/console rename to elixir/phoenix-opentelemetry/commands/console diff --git a/elixir/phoenix-collector/commands/diagnose b/elixir/phoenix-opentelemetry/commands/diagnose similarity index 100% rename from elixir/phoenix-collector/commands/diagnose rename to elixir/phoenix-opentelemetry/commands/diagnose diff --git a/elixir/phoenix-collector/commands/run b/elixir/phoenix-opentelemetry/commands/run similarity index 100% rename from elixir/phoenix-collector/commands/run rename to elixir/phoenix-opentelemetry/commands/run diff --git a/elixir/phoenix-collector/docker-compose.yml b/elixir/phoenix-opentelemetry/docker-compose.yml similarity index 84% rename from elixir/phoenix-collector/docker-compose.yml rename to elixir/phoenix-opentelemetry/docker-compose.yml index 2e8baeaa..8cc3f5c8 100644 --- a/elixir/phoenix-collector/docker-compose.yml +++ b/elixir/phoenix-opentelemetry/docker-compose.yml @@ -19,14 +19,14 @@ services: - ../../appsignal_key.env app: build: . - image: elixir/phoenix-collector + image: elixir/phoenix-opentelemetry depends_on: - postgres ports: - "4001:4001" environment: - PORT=4001 - - APPSIGNAL_APP_NAME=elixir/phoenix-collector + - APPSIGNAL_APP_NAME=elixir/phoenix-opentelemetry env_file: - postgres.env - ../../appsignal.env @@ -41,5 +41,5 @@ services: depends_on: - app environment: - - APP_NAME=elixir/phoenix-collector + - APP_NAME=elixir/phoenix-opentelemetry - APP_URL=http://app:4001 diff --git a/elixir/phoenix-collector/postgres.env b/elixir/phoenix-opentelemetry/postgres.env similarity index 100% rename from elixir/phoenix-collector/postgres.env rename to elixir/phoenix-opentelemetry/postgres.env diff --git a/go/go-gin-mysql-collector/Dockerfile b/go/go-gin-mysql-opentelemetry/Dockerfile similarity index 100% rename from go/go-gin-mysql-collector/Dockerfile rename to go/go-gin-mysql-opentelemetry/Dockerfile diff --git a/go/go-gin-mysql-collector/app/go.mod b/go/go-gin-mysql-opentelemetry/app/go.mod similarity index 100% rename from go/go-gin-mysql-collector/app/go.mod rename to go/go-gin-mysql-opentelemetry/app/go.mod diff --git a/go/go-gin-mysql-collector/app/go.sum b/go/go-gin-mysql-opentelemetry/app/go.sum similarity index 100% rename from go/go-gin-mysql-collector/app/go.sum rename to go/go-gin-mysql-opentelemetry/app/go.sum diff --git a/go/go-gin-mysql-collector/app/index.html b/go/go-gin-mysql-opentelemetry/app/index.html similarity index 100% rename from go/go-gin-mysql-collector/app/index.html rename to go/go-gin-mysql-opentelemetry/app/index.html diff --git a/go/go-gin-mysql-collector/app/main.go b/go/go-gin-mysql-opentelemetry/app/main.go similarity index 100% rename from go/go-gin-mysql-collector/app/main.go rename to go/go-gin-mysql-opentelemetry/app/main.go diff --git a/go/go-gin-mysql-collector/app/processmon.toml b/go/go-gin-mysql-opentelemetry/app/processmon.toml similarity index 100% rename from go/go-gin-mysql-collector/app/processmon.toml rename to go/go-gin-mysql-opentelemetry/app/processmon.toml diff --git a/go/go-gin-mysql-collector/commands/run b/go/go-gin-mysql-opentelemetry/commands/run similarity index 100% rename from go/go-gin-mysql-collector/commands/run rename to go/go-gin-mysql-opentelemetry/commands/run diff --git a/go/go-gin-mysql-collector/docker-compose.yml b/go/go-gin-mysql-opentelemetry/docker-compose.yml similarity index 86% rename from go/go-gin-mysql-collector/docker-compose.yml rename to go/go-gin-mysql-opentelemetry/docker-compose.yml index 4b09d11c..6f6cc5d0 100644 --- a/go/go-gin-mysql-collector/docker-compose.yml +++ b/go/go-gin-mysql-opentelemetry/docker-compose.yml @@ -20,14 +20,14 @@ services: - MYSQL_DATABASE=mydb app: build: . - image: go/go-gin-mysql-collector + image: go/go-gin-mysql-opentelemetry depends_on: - appsignal-collector - mysql ports: - "4001:4001" environment: - - APPSIGNAL_APP_NAME=go/go-gin-mysql-collector + - APPSIGNAL_APP_NAME=go/go-gin-mysql-opentelemetry - APPSIGNAL_APP_ENV=development env_file: - ../../appsignal.env @@ -42,5 +42,5 @@ services: depends_on: - app environment: - - APP_NAME=go/gin-mysql-collector + - APP_NAME=go/gin-mysql-opentelemetry - APP_URL=http://app:4001 diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/Dockerfile b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/Dockerfile similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/Dockerfile rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/Dockerfile diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/app/README.md b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/README.md similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/app/README.md rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/README.md diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/app/go.mod b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/go.mod similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/app/go.mod rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/go.mod diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/app/go.sum b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/go.sum similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/app/go.sum rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/go.sum diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/app/main.go b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/main.go similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/app/main.go rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/main.go diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/app/processmon.toml b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/processmon.toml similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/app/processmon.toml rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/app/processmon.toml diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/commands/run b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/commands/run similarity index 100% rename from go/gorilla-mux-mysql-redis-mongo-collector/commands/run rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/commands/run diff --git a/go/gorilla-mux-mysql-redis-mongo-collector/docker-compose.yml b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/docker-compose.yml similarity index 82% rename from go/gorilla-mux-mysql-redis-mongo-collector/docker-compose.yml rename to go/gorilla-mux-mysql-redis-mongo-opentelemetry/docker-compose.yml index 8a7f2309..fdf4a0e4 100644 --- a/go/gorilla-mux-mysql-redis-mongo-collector/docker-compose.yml +++ b/go/gorilla-mux-mysql-redis-mongo-opentelemetry/docker-compose.yml @@ -24,14 +24,14 @@ services: - MYSQL_DATABASE=mydb app: build: . - image: go/gorilla-mux-mysql-redis-mongo-collector + image: go/gorilla-mux-mysql-redis-mongo-opentelemetry depends_on: - appsignal-collector - mysql ports: - "4001:4001" environment: - - APPSIGNAL_APP_NAME=go/gorilla-mux-mysql-redis-mongo-collector + - APPSIGNAL_APP_NAME=go/gorilla-mux-mysql-redis-mongo-opentelemetry - APPSIGNAL_APP_ENV=development env_file: - ../../appsignal.env @@ -46,5 +46,5 @@ services: depends_on: - app environment: - - APP_NAME=go/gorilla-mux-mysql-redis-mongo-collector + - APP_NAME=go/gorilla-mux-mysql-redis-mongo-opentelemetry - APP_URL=http://app:4001 diff --git a/java/spring-agent-collector/Dockerfile b/java/spring-agent-opentelemetry/Dockerfile similarity index 100% rename from java/spring-agent-collector/Dockerfile rename to java/spring-agent-opentelemetry/Dockerfile diff --git a/java/spring-agent-collector/app/.gitignore b/java/spring-agent-opentelemetry/app/.gitignore similarity index 100% rename from java/spring-agent-collector/app/.gitignore rename to java/spring-agent-opentelemetry/app/.gitignore diff --git a/java/spring-agent-collector/app/build.gradle.kts b/java/spring-agent-opentelemetry/app/build.gradle.kts similarity index 100% rename from java/spring-agent-collector/app/build.gradle.kts rename to java/spring-agent-opentelemetry/app/build.gradle.kts diff --git a/java/spring-agent-collector/app/gradle.properties b/java/spring-agent-opentelemetry/app/gradle.properties similarity index 100% rename from java/spring-agent-collector/app/gradle.properties rename to java/spring-agent-opentelemetry/app/gradle.properties diff --git a/java/spring-agent-collector/app/gradlew b/java/spring-agent-opentelemetry/app/gradlew similarity index 100% rename from java/spring-agent-collector/app/gradlew rename to java/spring-agent-opentelemetry/app/gradlew diff --git a/java/spring-agent-collector/app/settings.gradle.kts b/java/spring-agent-opentelemetry/app/settings.gradle.kts similarity index 100% rename from java/spring-agent-collector/app/settings.gradle.kts rename to java/spring-agent-opentelemetry/app/settings.gradle.kts diff --git a/java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/Application.java b/java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Application.java similarity index 100% rename from java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/Application.java rename to java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Application.java diff --git a/java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/Controller.java b/java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Controller.java similarity index 100% rename from java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/Controller.java rename to java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Controller.java diff --git a/java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/ElasticsearchService.java b/java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/ElasticsearchService.java similarity index 100% rename from java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/ElasticsearchService.java rename to java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/ElasticsearchService.java diff --git a/java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java b/java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java similarity index 100% rename from java/spring-agent-collector/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java rename to java/spring-agent-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java diff --git a/java/spring-agent-collector/app/src/main/resources/application.properties b/java/spring-agent-opentelemetry/app/src/main/resources/application.properties similarity index 100% rename from java/spring-agent-collector/app/src/main/resources/application.properties rename to java/spring-agent-opentelemetry/app/src/main/resources/application.properties diff --git a/java/spring-agent-collector/commands/run b/java/spring-agent-opentelemetry/commands/run similarity index 100% rename from java/spring-agent-collector/commands/run rename to java/spring-agent-opentelemetry/commands/run diff --git a/java/spring-agent-collector/docker-compose.yml b/java/spring-agent-opentelemetry/docker-compose.yml similarity index 91% rename from java/spring-agent-collector/docker-compose.yml rename to java/spring-agent-opentelemetry/docker-compose.yml index 125d37d0..76f27e33 100644 --- a/java/spring-agent-collector/docker-compose.yml +++ b/java/spring-agent-opentelemetry/docker-compose.yml @@ -8,7 +8,7 @@ services: volumes: - ./app:/app environment: - APPSIGNAL_APP_NAME: java/spring-agent-collector + APPSIGNAL_APP_NAME: java/spring-agent-opentelemetry APPSIGNAL_APP_ENV: development SERVER_PORT: "4001" env_file: @@ -45,7 +45,7 @@ services: depends_on: - app environment: - - APP_NAME=java/spring-agent-collector + - APP_NAME=java/spring-agent-opentelemetry - APP_URL=http://app:4001 volumes: elasticsearch_data: diff --git a/java/spring-native-collector/Dockerfile b/java/spring-native-opentelemetry/Dockerfile similarity index 100% rename from java/spring-native-collector/Dockerfile rename to java/spring-native-opentelemetry/Dockerfile diff --git a/java/spring-native-collector/app/.gitignore b/java/spring-native-opentelemetry/app/.gitignore similarity index 100% rename from java/spring-native-collector/app/.gitignore rename to java/spring-native-opentelemetry/app/.gitignore diff --git a/java/spring-native-collector/app/build.gradle.kts b/java/spring-native-opentelemetry/app/build.gradle.kts similarity index 100% rename from java/spring-native-collector/app/build.gradle.kts rename to java/spring-native-opentelemetry/app/build.gradle.kts diff --git a/java/spring-native-collector/app/gradle.properties b/java/spring-native-opentelemetry/app/gradle.properties similarity index 100% rename from java/spring-native-collector/app/gradle.properties rename to java/spring-native-opentelemetry/app/gradle.properties diff --git a/java/spring-native-collector/app/gradlew b/java/spring-native-opentelemetry/app/gradlew similarity index 100% rename from java/spring-native-collector/app/gradlew rename to java/spring-native-opentelemetry/app/gradlew diff --git a/java/spring-native-collector/app/settings.gradle.kts b/java/spring-native-opentelemetry/app/settings.gradle.kts similarity index 100% rename from java/spring-native-collector/app/settings.gradle.kts rename to java/spring-native-opentelemetry/app/settings.gradle.kts diff --git a/java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/Application.java b/java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Application.java similarity index 100% rename from java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/Application.java rename to java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Application.java diff --git a/java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/Controller.java b/java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Controller.java similarity index 100% rename from java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/Controller.java rename to java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/Controller.java diff --git a/java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/OpenTelemetryConfig.java b/java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/OpenTelemetryConfig.java similarity index 100% rename from java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/OpenTelemetryConfig.java rename to java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/OpenTelemetryConfig.java diff --git a/java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java b/java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java similarity index 100% rename from java/spring-native-collector/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java rename to java/spring-native-opentelemetry/app/src/main/java/io/opentelemetry/example/graal/SqlExecutor.java diff --git a/java/spring-native-collector/app/src/main/resources/application.properties b/java/spring-native-opentelemetry/app/src/main/resources/application.properties similarity index 100% rename from java/spring-native-collector/app/src/main/resources/application.properties rename to java/spring-native-opentelemetry/app/src/main/resources/application.properties diff --git a/java/spring-native-collector/commands/.gitkeep b/java/spring-native-opentelemetry/commands/.gitkeep similarity index 100% rename from java/spring-native-collector/commands/.gitkeep rename to java/spring-native-opentelemetry/commands/.gitkeep diff --git a/java/spring-native-collector/docker-compose.yml b/java/spring-native-opentelemetry/docker-compose.yml similarity index 87% rename from java/spring-native-collector/docker-compose.yml rename to java/spring-native-opentelemetry/docker-compose.yml index 443c6f14..c98d93c2 100644 --- a/java/spring-native-collector/docker-compose.yml +++ b/java/spring-native-opentelemetry/docker-compose.yml @@ -9,7 +9,7 @@ services: - ./app:/app environment: OTEL_LOGS_EXPORTER: "none" - APPSIGNAL_APP_NAME: java/spring-native-collector + APPSIGNAL_APP_NAME: java/spring-native-opentelemetry APPSIGNAL_APP_ENV: development SERVER_PORT: "4001" env_file: @@ -34,5 +34,5 @@ services: depends_on: - app environment: - - APP_NAME=java/spring-native-collector + - APP_NAME=java/spring-native-opentelemetry - APP_URL=http://app:4001 diff --git a/javascript/react-vite-collector/README.md b/javascript/react-vite-opentelemetry/README.md similarity index 100% rename from javascript/react-vite-collector/README.md rename to javascript/react-vite-opentelemetry/README.md diff --git a/javascript/react-vite-collector/app/.example.env b/javascript/react-vite-opentelemetry/app/.example.env similarity index 100% rename from javascript/react-vite-collector/app/.example.env rename to javascript/react-vite-opentelemetry/app/.example.env diff --git a/javascript/react-vite-collector/app/.gitignore b/javascript/react-vite-opentelemetry/app/.gitignore similarity index 100% rename from javascript/react-vite-collector/app/.gitignore rename to javascript/react-vite-opentelemetry/app/.gitignore diff --git a/javascript/react-vite-collector/app/README.md b/javascript/react-vite-opentelemetry/app/README.md similarity index 100% rename from javascript/react-vite-collector/app/README.md rename to javascript/react-vite-opentelemetry/app/README.md diff --git a/javascript/react-vite-collector/app/eslint.config.js b/javascript/react-vite-opentelemetry/app/eslint.config.js similarity index 100% rename from javascript/react-vite-collector/app/eslint.config.js rename to javascript/react-vite-opentelemetry/app/eslint.config.js diff --git a/javascript/react-vite-collector/app/index.html b/javascript/react-vite-opentelemetry/app/index.html similarity index 100% rename from javascript/react-vite-collector/app/index.html rename to javascript/react-vite-opentelemetry/app/index.html diff --git a/javascript/react-vite-collector/app/package-lock.json b/javascript/react-vite-opentelemetry/app/package-lock.json similarity index 100% rename from javascript/react-vite-collector/app/package-lock.json rename to javascript/react-vite-opentelemetry/app/package-lock.json diff --git a/javascript/react-vite-collector/app/package.json b/javascript/react-vite-opentelemetry/app/package.json similarity index 100% rename from javascript/react-vite-collector/app/package.json rename to javascript/react-vite-opentelemetry/app/package.json diff --git a/javascript/react-vite-collector/app/public/vite.svg b/javascript/react-vite-opentelemetry/app/public/vite.svg similarity index 100% rename from javascript/react-vite-collector/app/public/vite.svg rename to javascript/react-vite-opentelemetry/app/public/vite.svg diff --git a/javascript/react-vite-collector/app/src/App.css b/javascript/react-vite-opentelemetry/app/src/App.css similarity index 100% rename from javascript/react-vite-collector/app/src/App.css rename to javascript/react-vite-opentelemetry/app/src/App.css diff --git a/javascript/react-vite-collector/app/src/App.tsx b/javascript/react-vite-opentelemetry/app/src/App.tsx similarity index 100% rename from javascript/react-vite-collector/app/src/App.tsx rename to javascript/react-vite-opentelemetry/app/src/App.tsx diff --git a/javascript/react-vite-collector/app/src/Counter.css b/javascript/react-vite-opentelemetry/app/src/Counter.css similarity index 100% rename from javascript/react-vite-collector/app/src/Counter.css rename to javascript/react-vite-opentelemetry/app/src/Counter.css diff --git a/javascript/react-vite-collector/app/src/Counter.tsx b/javascript/react-vite-opentelemetry/app/src/Counter.tsx similarity index 100% rename from javascript/react-vite-collector/app/src/Counter.tsx rename to javascript/react-vite-opentelemetry/app/src/Counter.tsx diff --git a/javascript/react-vite-collector/app/src/ErrorBoundary.tsx b/javascript/react-vite-opentelemetry/app/src/ErrorBoundary.tsx similarity index 100% rename from javascript/react-vite-collector/app/src/ErrorBoundary.tsx rename to javascript/react-vite-opentelemetry/app/src/ErrorBoundary.tsx diff --git a/javascript/react-vite-collector/app/src/ErrorComponent.tsx b/javascript/react-vite-opentelemetry/app/src/ErrorComponent.tsx similarity index 100% rename from javascript/react-vite-collector/app/src/ErrorComponent.tsx rename to javascript/react-vite-opentelemetry/app/src/ErrorComponent.tsx diff --git a/javascript/react-vite-collector/app/src/assets/react.svg b/javascript/react-vite-opentelemetry/app/src/assets/react.svg similarity index 100% rename from javascript/react-vite-collector/app/src/assets/react.svg rename to javascript/react-vite-opentelemetry/app/src/assets/react.svg diff --git a/javascript/react-vite-collector/app/src/index.css b/javascript/react-vite-opentelemetry/app/src/index.css similarity index 100% rename from javascript/react-vite-collector/app/src/index.css rename to javascript/react-vite-opentelemetry/app/src/index.css diff --git a/javascript/react-vite-collector/app/src/main.tsx b/javascript/react-vite-opentelemetry/app/src/main.tsx similarity index 100% rename from javascript/react-vite-collector/app/src/main.tsx rename to javascript/react-vite-opentelemetry/app/src/main.tsx diff --git a/javascript/react-vite-collector/app/src/telemetry.ts b/javascript/react-vite-opentelemetry/app/src/telemetry.ts similarity index 100% rename from javascript/react-vite-collector/app/src/telemetry.ts rename to javascript/react-vite-opentelemetry/app/src/telemetry.ts diff --git a/javascript/react-vite-collector/app/src/vite-env.d.ts b/javascript/react-vite-opentelemetry/app/src/vite-env.d.ts similarity index 100% rename from javascript/react-vite-collector/app/src/vite-env.d.ts rename to javascript/react-vite-opentelemetry/app/src/vite-env.d.ts diff --git a/javascript/react-vite-collector/app/tsconfig.app.json b/javascript/react-vite-opentelemetry/app/tsconfig.app.json similarity index 100% rename from javascript/react-vite-collector/app/tsconfig.app.json rename to javascript/react-vite-opentelemetry/app/tsconfig.app.json diff --git a/javascript/react-vite-collector/app/tsconfig.json b/javascript/react-vite-opentelemetry/app/tsconfig.json similarity index 100% rename from javascript/react-vite-collector/app/tsconfig.json rename to javascript/react-vite-opentelemetry/app/tsconfig.json diff --git a/javascript/react-vite-collector/app/tsconfig.node.json b/javascript/react-vite-opentelemetry/app/tsconfig.node.json similarity index 100% rename from javascript/react-vite-collector/app/tsconfig.node.json rename to javascript/react-vite-opentelemetry/app/tsconfig.node.json diff --git a/javascript/react-vite-collector/app/vite.config.ts b/javascript/react-vite-opentelemetry/app/vite.config.ts similarity index 100% rename from javascript/react-vite-collector/app/vite.config.ts rename to javascript/react-vite-opentelemetry/app/vite.config.ts diff --git a/javascript/react-vite-collector/commands/run b/javascript/react-vite-opentelemetry/commands/run similarity index 100% rename from javascript/react-vite-collector/commands/run rename to javascript/react-vite-opentelemetry/commands/run diff --git a/javascript/react-vite-collector/cors/Dockerfile b/javascript/react-vite-opentelemetry/cors/Dockerfile similarity index 100% rename from javascript/react-vite-collector/cors/Dockerfile rename to javascript/react-vite-opentelemetry/cors/Dockerfile diff --git a/javascript/react-vite-collector/cors/README.md b/javascript/react-vite-opentelemetry/cors/README.md similarity index 100% rename from javascript/react-vite-collector/cors/README.md rename to javascript/react-vite-opentelemetry/cors/README.md diff --git a/javascript/react-vite-collector/cors/nginx.conf b/javascript/react-vite-opentelemetry/cors/nginx.conf similarity index 100% rename from javascript/react-vite-collector/cors/nginx.conf rename to javascript/react-vite-opentelemetry/cors/nginx.conf diff --git a/javascript/react-vite-collector/docker-compose.yml b/javascript/react-vite-opentelemetry/docker-compose.yml similarity index 81% rename from javascript/react-vite-collector/docker-compose.yml rename to javascript/react-vite-opentelemetry/docker-compose.yml index f07646a9..e869790e 100644 --- a/javascript/react-vite-collector/docker-compose.yml +++ b/javascript/react-vite-opentelemetry/docker-compose.yml @@ -12,11 +12,11 @@ services: build: context: . dockerfile: ../Dockerfile - image: javascript/react-vite-collector + image: javascript/react-vite-opentelemetry ports: - "4001:4001" environment: - - APPSIGNAL_APP_NAME=javascript/react-vite-collector + - APPSIGNAL_APP_NAME=javascript/react-vite-opentelemetry - APPSIGNAL_APP_ENV=development env_file: - ../../appsignal.env @@ -35,5 +35,5 @@ services: depends_on: - app environment: - - APP_NAME=javascript/react-vite-collector + - APP_NAME=javascript/react-vite-opentelemetry - APP_URL=http://app:4001 diff --git a/nodejs/express-postgres-collector/Dockerfile b/nodejs/express-postgres-opentelemetry/Dockerfile similarity index 100% rename from nodejs/express-postgres-collector/Dockerfile rename to nodejs/express-postgres-opentelemetry/Dockerfile diff --git a/nodejs/express-postgres-collector/app/.gitignore b/nodejs/express-postgres-opentelemetry/app/.gitignore similarity index 100% rename from nodejs/express-postgres-collector/app/.gitignore rename to nodejs/express-postgres-opentelemetry/app/.gitignore diff --git a/nodejs/express-postgres-collector/app/package-lock.json b/nodejs/express-postgres-opentelemetry/app/package-lock.json similarity index 100% rename from nodejs/express-postgres-collector/app/package-lock.json rename to nodejs/express-postgres-opentelemetry/app/package-lock.json diff --git a/nodejs/express-postgres-collector/app/package.json b/nodejs/express-postgres-opentelemetry/app/package.json similarity index 100% rename from nodejs/express-postgres-collector/app/package.json rename to nodejs/express-postgres-opentelemetry/app/package.json diff --git a/nodejs/express-postgres-collector/app/processmon.toml b/nodejs/express-postgres-opentelemetry/app/processmon.toml similarity index 100% rename from nodejs/express-postgres-collector/app/processmon.toml rename to nodejs/express-postgres-opentelemetry/app/processmon.toml diff --git a/nodejs/express-postgres-collector/app/src/app.ts b/nodejs/express-postgres-opentelemetry/app/src/app.ts similarity index 100% rename from nodejs/express-postgres-collector/app/src/app.ts rename to nodejs/express-postgres-opentelemetry/app/src/app.ts diff --git a/nodejs/express-postgres-collector/app/src/opentelemetry.cjs b/nodejs/express-postgres-opentelemetry/app/src/opentelemetry.cjs similarity index 100% rename from nodejs/express-postgres-collector/app/src/opentelemetry.cjs rename to nodejs/express-postgres-opentelemetry/app/src/opentelemetry.cjs diff --git a/nodejs/express-postgres-collector/app/tsconfig.json b/nodejs/express-postgres-opentelemetry/app/tsconfig.json similarity index 100% rename from nodejs/express-postgres-collector/app/tsconfig.json rename to nodejs/express-postgres-opentelemetry/app/tsconfig.json diff --git a/nodejs/express-postgres-collector/commands/run b/nodejs/express-postgres-opentelemetry/commands/run similarity index 100% rename from nodejs/express-postgres-collector/commands/run rename to nodejs/express-postgres-opentelemetry/commands/run diff --git a/nodejs/express-postgres-collector/docker-compose.yml b/nodejs/express-postgres-opentelemetry/docker-compose.yml similarity index 82% rename from nodejs/express-postgres-collector/docker-compose.yml rename to nodejs/express-postgres-opentelemetry/docker-compose.yml index 0f6be4ed..9ae50e58 100644 --- a/nodejs/express-postgres-collector/docker-compose.yml +++ b/nodejs/express-postgres-opentelemetry/docker-compose.yml @@ -17,14 +17,14 @@ services: - ../../appsignal_key.env app: build: . - image: nodejs/express-postgres-collector + image: nodejs/express-postgres-opentelemetry depends_on: - postgres ports: - "4001:4001" environment: - PORT=4001 - - APPSIGNAL_APP_NAME=nodejs/express-postgres-collector + - APPSIGNAL_APP_NAME=nodejs/express-postgres-opentelemetry env_file: - postgres.env - ../../appsignal.env @@ -41,4 +41,4 @@ services: - app environment: - APP_URL=http://app:4001 - - APP_NAME=nodejs/express-postgres-collector + - APP_NAME=nodejs/express-postgres-opentelemetry diff --git a/nodejs/express-postgres-collector/postgres.env b/nodejs/express-postgres-opentelemetry/postgres.env similarity index 100% rename from nodejs/express-postgres-collector/postgres.env rename to nodejs/express-postgres-opentelemetry/postgres.env diff --git a/nodejs/nextjs-15-app-collector/Dockerfile b/nodejs/nextjs-15-app-opentelemetry/Dockerfile similarity index 100% rename from nodejs/nextjs-15-app-collector/Dockerfile rename to nodejs/nextjs-15-app-opentelemetry/Dockerfile diff --git a/nodejs/nextjs-15-app-collector/app/.gitignore b/nodejs/nextjs-15-app-opentelemetry/app/.gitignore similarity index 100% rename from nodejs/nextjs-15-app-collector/app/.gitignore rename to nodejs/nextjs-15-app-opentelemetry/app/.gitignore diff --git a/nodejs/nextjs-15-app-collector/app/README.md b/nodejs/nextjs-15-app-opentelemetry/app/README.md similarity index 100% rename from nodejs/nextjs-15-app-collector/app/README.md rename to nodejs/nextjs-15-app-opentelemetry/app/README.md diff --git a/nodejs/nextjs-15-app-collector/app/app/error/page.tsx b/nodejs/nextjs-15-app-opentelemetry/app/app/error/page.tsx similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/error/page.tsx rename to nodejs/nextjs-15-app-opentelemetry/app/app/error/page.tsx diff --git a/nodejs/nextjs-15-app-collector/app/app/favicon.ico b/nodejs/nextjs-15-app-opentelemetry/app/app/favicon.ico similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/favicon.ico rename to nodejs/nextjs-15-app-opentelemetry/app/app/favicon.ico diff --git a/nodejs/nextjs-15-app-collector/app/app/globals.css b/nodejs/nextjs-15-app-opentelemetry/app/app/globals.css similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/globals.css rename to nodejs/nextjs-15-app-opentelemetry/app/app/globals.css diff --git a/nodejs/nextjs-15-app-collector/app/app/layout.tsx b/nodejs/nextjs-15-app-opentelemetry/app/app/layout.tsx similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/layout.tsx rename to nodejs/nextjs-15-app-opentelemetry/app/app/layout.tsx diff --git a/nodejs/nextjs-15-app-collector/app/app/page.tsx b/nodejs/nextjs-15-app-opentelemetry/app/app/page.tsx similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/page.tsx rename to nodejs/nextjs-15-app-opentelemetry/app/app/page.tsx diff --git a/nodejs/nextjs-15-app-collector/app/app/slow/page.tsx b/nodejs/nextjs-15-app-opentelemetry/app/app/slow/page.tsx similarity index 100% rename from nodejs/nextjs-15-app-collector/app/app/slow/page.tsx rename to nodejs/nextjs-15-app-opentelemetry/app/app/slow/page.tsx diff --git a/nodejs/nextjs-15-app-collector/app/instrumentation.ts b/nodejs/nextjs-15-app-opentelemetry/app/instrumentation.ts similarity index 100% rename from nodejs/nextjs-15-app-collector/app/instrumentation.ts rename to nodejs/nextjs-15-app-opentelemetry/app/instrumentation.ts diff --git a/nodejs/nextjs-15-app-collector/app/next.config.ts b/nodejs/nextjs-15-app-opentelemetry/app/next.config.ts similarity index 100% rename from nodejs/nextjs-15-app-collector/app/next.config.ts rename to nodejs/nextjs-15-app-opentelemetry/app/next.config.ts diff --git a/nodejs/nextjs-15-app-collector/app/package-lock.json b/nodejs/nextjs-15-app-opentelemetry/app/package-lock.json similarity index 100% rename from nodejs/nextjs-15-app-collector/app/package-lock.json rename to nodejs/nextjs-15-app-opentelemetry/app/package-lock.json diff --git a/nodejs/nextjs-15-app-collector/app/package.json b/nodejs/nextjs-15-app-opentelemetry/app/package.json similarity index 100% rename from nodejs/nextjs-15-app-collector/app/package.json rename to nodejs/nextjs-15-app-opentelemetry/app/package.json diff --git a/nodejs/nextjs-15-app-collector/app/postcss.config.mjs b/nodejs/nextjs-15-app-opentelemetry/app/postcss.config.mjs similarity index 100% rename from nodejs/nextjs-15-app-collector/app/postcss.config.mjs rename to nodejs/nextjs-15-app-opentelemetry/app/postcss.config.mjs diff --git a/nodejs/nextjs-15-app-collector/app/public/file.svg b/nodejs/nextjs-15-app-opentelemetry/app/public/file.svg similarity index 100% rename from nodejs/nextjs-15-app-collector/app/public/file.svg rename to nodejs/nextjs-15-app-opentelemetry/app/public/file.svg diff --git a/nodejs/nextjs-15-app-collector/app/public/globe.svg b/nodejs/nextjs-15-app-opentelemetry/app/public/globe.svg similarity index 100% rename from nodejs/nextjs-15-app-collector/app/public/globe.svg rename to nodejs/nextjs-15-app-opentelemetry/app/public/globe.svg diff --git a/nodejs/nextjs-15-app-collector/app/public/next.svg b/nodejs/nextjs-15-app-opentelemetry/app/public/next.svg similarity index 100% rename from nodejs/nextjs-15-app-collector/app/public/next.svg rename to nodejs/nextjs-15-app-opentelemetry/app/public/next.svg diff --git a/nodejs/nextjs-15-app-collector/app/public/vercel.svg b/nodejs/nextjs-15-app-opentelemetry/app/public/vercel.svg similarity index 100% rename from nodejs/nextjs-15-app-collector/app/public/vercel.svg rename to nodejs/nextjs-15-app-opentelemetry/app/public/vercel.svg diff --git a/nodejs/nextjs-15-app-collector/app/public/window.svg b/nodejs/nextjs-15-app-opentelemetry/app/public/window.svg similarity index 100% rename from nodejs/nextjs-15-app-collector/app/public/window.svg rename to nodejs/nextjs-15-app-opentelemetry/app/public/window.svg diff --git a/nodejs/nextjs-15-app-collector/app/tsconfig.json b/nodejs/nextjs-15-app-opentelemetry/app/tsconfig.json similarity index 100% rename from nodejs/nextjs-15-app-collector/app/tsconfig.json rename to nodejs/nextjs-15-app-opentelemetry/app/tsconfig.json diff --git a/nodejs/nextjs-15-app-collector/commands/run b/nodejs/nextjs-15-app-opentelemetry/commands/run similarity index 100% rename from nodejs/nextjs-15-app-collector/commands/run rename to nodejs/nextjs-15-app-opentelemetry/commands/run diff --git a/nodejs/nextjs-15-app-collector/docker-compose.yml b/nodejs/nextjs-15-app-opentelemetry/docker-compose.yml similarity index 91% rename from nodejs/nextjs-15-app-collector/docker-compose.yml rename to nodejs/nextjs-15-app-opentelemetry/docker-compose.yml index 7c4886d8..113ec2a2 100644 --- a/nodejs/nextjs-15-app-collector/docker-compose.yml +++ b/nodejs/nextjs-15-app-opentelemetry/docker-compose.yml @@ -15,7 +15,7 @@ services: - "4001:4001" environment: - PORT=4001 - - APPSIGNAL_APP_NAME=nodejs/nextjs-15-app-collector + - APPSIGNAL_APP_NAME=nodejs/nextjs-15-app-opentelemetry env_file: - ../../appsignal.env - ../../appsignal_key.env diff --git a/php/laravel-collector/app/.editorconfig b/php/laravel-opentelemetry/app/.editorconfig similarity index 100% rename from php/laravel-collector/app/.editorconfig rename to php/laravel-opentelemetry/app/.editorconfig diff --git a/php/laravel-collector/app/.env.example b/php/laravel-opentelemetry/app/.env.example similarity index 100% rename from php/laravel-collector/app/.env.example rename to php/laravel-opentelemetry/app/.env.example diff --git a/php/laravel-collector/app/.gitattributes b/php/laravel-opentelemetry/app/.gitattributes similarity index 100% rename from php/laravel-collector/app/.gitattributes rename to php/laravel-opentelemetry/app/.gitattributes diff --git a/php/laravel-collector/app/.gitignore b/php/laravel-opentelemetry/app/.gitignore similarity index 100% rename from php/laravel-collector/app/.gitignore rename to php/laravel-opentelemetry/app/.gitignore diff --git a/php/laravel-collector/app/README.md b/php/laravel-opentelemetry/app/README.md similarity index 100% rename from php/laravel-collector/app/README.md rename to php/laravel-opentelemetry/app/README.md diff --git a/php/laravel-collector/app/app/Http/Controllers/BacktraceController.php b/php/laravel-opentelemetry/app/app/Http/Controllers/BacktraceController.php similarity index 100% rename from php/laravel-collector/app/app/Http/Controllers/BacktraceController.php rename to php/laravel-opentelemetry/app/app/Http/Controllers/BacktraceController.php diff --git a/php/laravel-collector/app/app/Http/Controllers/Controller.php b/php/laravel-opentelemetry/app/app/Http/Controllers/Controller.php similarity index 100% rename from php/laravel-collector/app/app/Http/Controllers/Controller.php rename to php/laravel-opentelemetry/app/app/Http/Controllers/Controller.php diff --git a/php/laravel-collector/app/app/Jobs/ExampleJob.php b/php/laravel-opentelemetry/app/app/Jobs/ExampleJob.php similarity index 100% rename from php/laravel-collector/app/app/Jobs/ExampleJob.php rename to php/laravel-opentelemetry/app/app/Jobs/ExampleJob.php diff --git a/php/laravel-collector/app/app/Models/User.php b/php/laravel-opentelemetry/app/app/Models/User.php similarity index 100% rename from php/laravel-collector/app/app/Models/User.php rename to php/laravel-opentelemetry/app/app/Models/User.php diff --git a/php/laravel-collector/app/app/Providers/AppServiceProvider.php b/php/laravel-opentelemetry/app/app/Providers/AppServiceProvider.php similarity index 100% rename from php/laravel-collector/app/app/Providers/AppServiceProvider.php rename to php/laravel-opentelemetry/app/app/Providers/AppServiceProvider.php diff --git a/php/laravel-collector/app/artisan b/php/laravel-opentelemetry/app/artisan similarity index 100% rename from php/laravel-collector/app/artisan rename to php/laravel-opentelemetry/app/artisan diff --git a/php/laravel-collector/app/bootstrap/app.php b/php/laravel-opentelemetry/app/bootstrap/app.php similarity index 100% rename from php/laravel-collector/app/bootstrap/app.php rename to php/laravel-opentelemetry/app/bootstrap/app.php diff --git a/php/laravel-collector/app/bootstrap/cache/.gitignore b/php/laravel-opentelemetry/app/bootstrap/cache/.gitignore similarity index 100% rename from php/laravel-collector/app/bootstrap/cache/.gitignore rename to php/laravel-opentelemetry/app/bootstrap/cache/.gitignore diff --git a/php/laravel-collector/app/bootstrap/instrumentation.php b/php/laravel-opentelemetry/app/bootstrap/instrumentation.php similarity index 100% rename from php/laravel-collector/app/bootstrap/instrumentation.php rename to php/laravel-opentelemetry/app/bootstrap/instrumentation.php diff --git a/php/laravel-collector/app/bootstrap/providers.php b/php/laravel-opentelemetry/app/bootstrap/providers.php similarity index 100% rename from php/laravel-collector/app/bootstrap/providers.php rename to php/laravel-opentelemetry/app/bootstrap/providers.php diff --git a/php/laravel-collector/app/composer.json b/php/laravel-opentelemetry/app/composer.json similarity index 100% rename from php/laravel-collector/app/composer.json rename to php/laravel-opentelemetry/app/composer.json diff --git a/php/laravel-collector/app/composer.lock b/php/laravel-opentelemetry/app/composer.lock similarity index 100% rename from php/laravel-collector/app/composer.lock rename to php/laravel-opentelemetry/app/composer.lock diff --git a/php/laravel-collector/app/config/app.php b/php/laravel-opentelemetry/app/config/app.php similarity index 100% rename from php/laravel-collector/app/config/app.php rename to php/laravel-opentelemetry/app/config/app.php diff --git a/php/laravel-collector/app/config/auth.php b/php/laravel-opentelemetry/app/config/auth.php similarity index 100% rename from php/laravel-collector/app/config/auth.php rename to php/laravel-opentelemetry/app/config/auth.php diff --git a/php/laravel-collector/app/config/cache.php b/php/laravel-opentelemetry/app/config/cache.php similarity index 100% rename from php/laravel-collector/app/config/cache.php rename to php/laravel-opentelemetry/app/config/cache.php diff --git a/php/laravel-collector/app/config/database.php b/php/laravel-opentelemetry/app/config/database.php similarity index 100% rename from php/laravel-collector/app/config/database.php rename to php/laravel-opentelemetry/app/config/database.php diff --git a/php/laravel-collector/app/config/filesystems.php b/php/laravel-opentelemetry/app/config/filesystems.php similarity index 100% rename from php/laravel-collector/app/config/filesystems.php rename to php/laravel-opentelemetry/app/config/filesystems.php diff --git a/php/laravel-collector/app/config/logging.php b/php/laravel-opentelemetry/app/config/logging.php similarity index 100% rename from php/laravel-collector/app/config/logging.php rename to php/laravel-opentelemetry/app/config/logging.php diff --git a/php/laravel-collector/app/config/mail.php b/php/laravel-opentelemetry/app/config/mail.php similarity index 100% rename from php/laravel-collector/app/config/mail.php rename to php/laravel-opentelemetry/app/config/mail.php diff --git a/php/laravel-collector/app/config/queue.php b/php/laravel-opentelemetry/app/config/queue.php similarity index 100% rename from php/laravel-collector/app/config/queue.php rename to php/laravel-opentelemetry/app/config/queue.php diff --git a/php/laravel-collector/app/config/services.php b/php/laravel-opentelemetry/app/config/services.php similarity index 100% rename from php/laravel-collector/app/config/services.php rename to php/laravel-opentelemetry/app/config/services.php diff --git a/php/laravel-collector/app/config/session.php b/php/laravel-opentelemetry/app/config/session.php similarity index 100% rename from php/laravel-collector/app/config/session.php rename to php/laravel-opentelemetry/app/config/session.php diff --git a/php/laravel-collector/app/database/.gitignore b/php/laravel-opentelemetry/app/database/.gitignore similarity index 100% rename from php/laravel-collector/app/database/.gitignore rename to php/laravel-opentelemetry/app/database/.gitignore diff --git a/php/laravel-collector/app/database/factories/UserFactory.php b/php/laravel-opentelemetry/app/database/factories/UserFactory.php similarity index 100% rename from php/laravel-collector/app/database/factories/UserFactory.php rename to php/laravel-opentelemetry/app/database/factories/UserFactory.php diff --git a/php/laravel-collector/app/database/migrations/0001_01_01_000000_create_users_table.php b/php/laravel-opentelemetry/app/database/migrations/0001_01_01_000000_create_users_table.php similarity index 100% rename from php/laravel-collector/app/database/migrations/0001_01_01_000000_create_users_table.php rename to php/laravel-opentelemetry/app/database/migrations/0001_01_01_000000_create_users_table.php diff --git a/php/laravel-collector/app/database/migrations/0001_01_01_000001_create_cache_table.php b/php/laravel-opentelemetry/app/database/migrations/0001_01_01_000001_create_cache_table.php similarity index 100% rename from php/laravel-collector/app/database/migrations/0001_01_01_000001_create_cache_table.php rename to php/laravel-opentelemetry/app/database/migrations/0001_01_01_000001_create_cache_table.php diff --git a/php/laravel-collector/app/database/migrations/0001_01_01_000002_create_jobs_table.php b/php/laravel-opentelemetry/app/database/migrations/0001_01_01_000002_create_jobs_table.php similarity index 100% rename from php/laravel-collector/app/database/migrations/0001_01_01_000002_create_jobs_table.php rename to php/laravel-opentelemetry/app/database/migrations/0001_01_01_000002_create_jobs_table.php diff --git a/php/laravel-collector/app/database/seeders/DatabaseSeeder.php b/php/laravel-opentelemetry/app/database/seeders/DatabaseSeeder.php similarity index 100% rename from php/laravel-collector/app/database/seeders/DatabaseSeeder.php rename to php/laravel-opentelemetry/app/database/seeders/DatabaseSeeder.php diff --git a/php/laravel-collector/app/package.json b/php/laravel-opentelemetry/app/package.json similarity index 100% rename from php/laravel-collector/app/package.json rename to php/laravel-opentelemetry/app/package.json diff --git a/php/laravel-collector/app/phpunit.xml b/php/laravel-opentelemetry/app/phpunit.xml similarity index 100% rename from php/laravel-collector/app/phpunit.xml rename to php/laravel-opentelemetry/app/phpunit.xml diff --git a/php/laravel-collector/app/public/.htaccess b/php/laravel-opentelemetry/app/public/.htaccess similarity index 100% rename from php/laravel-collector/app/public/.htaccess rename to php/laravel-opentelemetry/app/public/.htaccess diff --git a/php/laravel-collector/app/public/favicon.ico b/php/laravel-opentelemetry/app/public/favicon.ico similarity index 100% rename from php/laravel-collector/app/public/favicon.ico rename to php/laravel-opentelemetry/app/public/favicon.ico diff --git a/php/laravel-collector/app/public/index.php b/php/laravel-opentelemetry/app/public/index.php similarity index 100% rename from php/laravel-collector/app/public/index.php rename to php/laravel-opentelemetry/app/public/index.php diff --git a/php/laravel-collector/app/public/robots.txt b/php/laravel-opentelemetry/app/public/robots.txt similarity index 100% rename from php/laravel-collector/app/public/robots.txt rename to php/laravel-opentelemetry/app/public/robots.txt diff --git a/php/laravel-collector/app/resources/css/app.css b/php/laravel-opentelemetry/app/resources/css/app.css similarity index 100% rename from php/laravel-collector/app/resources/css/app.css rename to php/laravel-opentelemetry/app/resources/css/app.css diff --git a/php/laravel-collector/app/resources/js/app.js b/php/laravel-opentelemetry/app/resources/js/app.js similarity index 100% rename from php/laravel-collector/app/resources/js/app.js rename to php/laravel-opentelemetry/app/resources/js/app.js diff --git a/php/laravel-collector/app/resources/js/bootstrap.js b/php/laravel-opentelemetry/app/resources/js/bootstrap.js similarity index 100% rename from php/laravel-collector/app/resources/js/bootstrap.js rename to php/laravel-opentelemetry/app/resources/js/bootstrap.js diff --git a/php/laravel-collector/app/resources/views/backtrace.blade.php b/php/laravel-opentelemetry/app/resources/views/backtrace.blade.php similarity index 100% rename from php/laravel-collector/app/resources/views/backtrace.blade.php rename to php/laravel-opentelemetry/app/resources/views/backtrace.blade.php diff --git a/php/laravel-collector/app/resources/views/slow.blade.php b/php/laravel-opentelemetry/app/resources/views/slow.blade.php similarity index 100% rename from php/laravel-collector/app/resources/views/slow.blade.php rename to php/laravel-opentelemetry/app/resources/views/slow.blade.php diff --git a/php/laravel-collector/app/resources/views/welcome.blade.php b/php/laravel-opentelemetry/app/resources/views/welcome.blade.php similarity index 100% rename from php/laravel-collector/app/resources/views/welcome.blade.php rename to php/laravel-opentelemetry/app/resources/views/welcome.blade.php diff --git a/php/laravel-collector/app/routes/console.php b/php/laravel-opentelemetry/app/routes/console.php similarity index 100% rename from php/laravel-collector/app/routes/console.php rename to php/laravel-opentelemetry/app/routes/console.php diff --git a/php/laravel-collector/app/routes/web.php b/php/laravel-opentelemetry/app/routes/web.php similarity index 100% rename from php/laravel-collector/app/routes/web.php rename to php/laravel-opentelemetry/app/routes/web.php diff --git a/php/laravel-collector/app/storage/app/.gitignore b/php/laravel-opentelemetry/app/storage/app/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/app/.gitignore rename to php/laravel-opentelemetry/app/storage/app/.gitignore diff --git a/php/laravel-collector/app/storage/app/private/.gitignore b/php/laravel-opentelemetry/app/storage/app/private/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/app/private/.gitignore rename to php/laravel-opentelemetry/app/storage/app/private/.gitignore diff --git a/php/laravel-collector/app/storage/app/public/.gitignore b/php/laravel-opentelemetry/app/storage/app/public/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/app/public/.gitignore rename to php/laravel-opentelemetry/app/storage/app/public/.gitignore diff --git a/php/laravel-collector/app/storage/framework/.gitignore b/php/laravel-opentelemetry/app/storage/framework/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/.gitignore diff --git a/php/laravel-collector/app/storage/framework/cache/.gitignore b/php/laravel-opentelemetry/app/storage/framework/cache/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/cache/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/cache/.gitignore diff --git a/php/laravel-collector/app/storage/framework/cache/data/.gitignore b/php/laravel-opentelemetry/app/storage/framework/cache/data/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/cache/data/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/cache/data/.gitignore diff --git a/php/laravel-collector/app/storage/framework/sessions/.gitignore b/php/laravel-opentelemetry/app/storage/framework/sessions/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/sessions/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/sessions/.gitignore diff --git a/php/laravel-collector/app/storage/framework/testing/.gitignore b/php/laravel-opentelemetry/app/storage/framework/testing/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/testing/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/testing/.gitignore diff --git a/php/laravel-collector/app/storage/framework/views/.gitignore b/php/laravel-opentelemetry/app/storage/framework/views/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/framework/views/.gitignore rename to php/laravel-opentelemetry/app/storage/framework/views/.gitignore diff --git a/php/laravel-collector/app/storage/logs/.gitignore b/php/laravel-opentelemetry/app/storage/logs/.gitignore similarity index 100% rename from php/laravel-collector/app/storage/logs/.gitignore rename to php/laravel-opentelemetry/app/storage/logs/.gitignore diff --git a/php/laravel-collector/app/tests/Feature/ExampleTest.php b/php/laravel-opentelemetry/app/tests/Feature/ExampleTest.php similarity index 100% rename from php/laravel-collector/app/tests/Feature/ExampleTest.php rename to php/laravel-opentelemetry/app/tests/Feature/ExampleTest.php diff --git a/php/laravel-collector/app/tests/TestCase.php b/php/laravel-opentelemetry/app/tests/TestCase.php similarity index 100% rename from php/laravel-collector/app/tests/TestCase.php rename to php/laravel-opentelemetry/app/tests/TestCase.php diff --git a/php/laravel-collector/app/tests/Unit/ExampleTest.php b/php/laravel-opentelemetry/app/tests/Unit/ExampleTest.php similarity index 100% rename from php/laravel-collector/app/tests/Unit/ExampleTest.php rename to php/laravel-opentelemetry/app/tests/Unit/ExampleTest.php diff --git a/php/laravel-collector/app/vite.config.js b/php/laravel-opentelemetry/app/vite.config.js similarity index 100% rename from php/laravel-collector/app/vite.config.js rename to php/laravel-opentelemetry/app/vite.config.js diff --git a/php/laravel-collector/commands/run b/php/laravel-opentelemetry/commands/run similarity index 100% rename from php/laravel-collector/commands/run rename to php/laravel-opentelemetry/commands/run diff --git a/php/laravel-collector/docker-compose.yml b/php/laravel-opentelemetry/docker-compose.yml similarity index 95% rename from php/laravel-collector/docker-compose.yml rename to php/laravel-opentelemetry/docker-compose.yml index 180915f8..9cc957d8 100644 --- a/php/laravel-collector/docker-compose.yml +++ b/php/laravel-opentelemetry/docker-compose.yml @@ -24,7 +24,7 @@ services: # application are set in the `.env` file, either hardcoded, # or by setting then in `/commands/run` from the ones # defined here and in `env_file`: - APPSIGNAL_APP_NAME: php/laravel-collector + APPSIGNAL_APP_NAME: php/laravel-opentelemetry APPSIGNAL_APP_ENV: development env_file: - ../../appsignal.env @@ -68,5 +68,5 @@ services: depends_on: - app environment: - - APP_NAME=php/laravel-collector + - APP_NAME=php/laravel-opentelemetry - APP_URL=http://app:4001 diff --git a/php/laravel-collector/docker/Dockerfile b/php/laravel-opentelemetry/docker/Dockerfile similarity index 100% rename from php/laravel-collector/docker/Dockerfile rename to php/laravel-opentelemetry/docker/Dockerfile diff --git a/php/laravel-collector/docker/README b/php/laravel-opentelemetry/docker/README similarity index 100% rename from php/laravel-collector/docker/README rename to php/laravel-opentelemetry/docker/README diff --git a/php/laravel-collector/docker/create-testing-database.sh b/php/laravel-opentelemetry/docker/create-testing-database.sh similarity index 100% rename from php/laravel-collector/docker/create-testing-database.sh rename to php/laravel-opentelemetry/docker/create-testing-database.sh diff --git a/php/laravel-collector/docker/php.ini b/php/laravel-opentelemetry/docker/php.ini similarity index 100% rename from php/laravel-collector/docker/php.ini rename to php/laravel-opentelemetry/docker/php.ini diff --git a/php/laravel-collector/docker/start-container b/php/laravel-opentelemetry/docker/start-container similarity index 100% rename from php/laravel-collector/docker/start-container rename to php/laravel-opentelemetry/docker/start-container diff --git a/php/laravel-collector/docker/supervisord.conf b/php/laravel-opentelemetry/docker/supervisord.conf similarity index 100% rename from php/laravel-collector/docker/supervisord.conf rename to php/laravel-opentelemetry/docker/supervisord.conf diff --git a/php/symfony-collector/Dockerfile b/php/symfony-opentelemetry/Dockerfile similarity index 100% rename from php/symfony-collector/Dockerfile rename to php/symfony-opentelemetry/Dockerfile diff --git a/php/symfony-collector/app/.editorconfig b/php/symfony-opentelemetry/app/.editorconfig similarity index 100% rename from php/symfony-collector/app/.editorconfig rename to php/symfony-opentelemetry/app/.editorconfig diff --git a/php/symfony-collector/app/.env.dev b/php/symfony-opentelemetry/app/.env.dev similarity index 100% rename from php/symfony-collector/app/.env.dev rename to php/symfony-opentelemetry/app/.env.dev diff --git a/php/symfony-collector/app/.env.example b/php/symfony-opentelemetry/app/.env.example similarity index 100% rename from php/symfony-collector/app/.env.example rename to php/symfony-opentelemetry/app/.env.example diff --git a/php/symfony-collector/app/.gitignore b/php/symfony-opentelemetry/app/.gitignore similarity index 100% rename from php/symfony-collector/app/.gitignore rename to php/symfony-opentelemetry/app/.gitignore diff --git a/php/symfony-collector/app/appsignal.php b/php/symfony-opentelemetry/app/appsignal.php similarity index 100% rename from php/symfony-collector/app/appsignal.php rename to php/symfony-opentelemetry/app/appsignal.php diff --git a/php/symfony-collector/app/bin/console b/php/symfony-opentelemetry/app/bin/console similarity index 100% rename from php/symfony-collector/app/bin/console rename to php/symfony-opentelemetry/app/bin/console diff --git a/php/symfony-collector/app/composer.json b/php/symfony-opentelemetry/app/composer.json similarity index 100% rename from php/symfony-collector/app/composer.json rename to php/symfony-opentelemetry/app/composer.json diff --git a/php/symfony-collector/app/composer.lock b/php/symfony-opentelemetry/app/composer.lock similarity index 100% rename from php/symfony-collector/app/composer.lock rename to php/symfony-opentelemetry/app/composer.lock diff --git a/php/symfony-collector/app/config/bundles.php b/php/symfony-opentelemetry/app/config/bundles.php similarity index 100% rename from php/symfony-collector/app/config/bundles.php rename to php/symfony-opentelemetry/app/config/bundles.php diff --git a/php/symfony-collector/app/config/packages/cache.yaml b/php/symfony-opentelemetry/app/config/packages/cache.yaml similarity index 100% rename from php/symfony-collector/app/config/packages/cache.yaml rename to php/symfony-opentelemetry/app/config/packages/cache.yaml diff --git a/php/symfony-collector/app/config/packages/framework.yaml b/php/symfony-opentelemetry/app/config/packages/framework.yaml similarity index 100% rename from php/symfony-collector/app/config/packages/framework.yaml rename to php/symfony-opentelemetry/app/config/packages/framework.yaml diff --git a/php/symfony-collector/app/config/packages/http_discovery.yaml b/php/symfony-opentelemetry/app/config/packages/http_discovery.yaml similarity index 100% rename from php/symfony-collector/app/config/packages/http_discovery.yaml rename to php/symfony-opentelemetry/app/config/packages/http_discovery.yaml diff --git a/php/symfony-collector/app/config/packages/routing.yaml b/php/symfony-opentelemetry/app/config/packages/routing.yaml similarity index 100% rename from php/symfony-collector/app/config/packages/routing.yaml rename to php/symfony-opentelemetry/app/config/packages/routing.yaml diff --git a/php/symfony-collector/app/config/packages/twig.yaml b/php/symfony-opentelemetry/app/config/packages/twig.yaml similarity index 100% rename from php/symfony-collector/app/config/packages/twig.yaml rename to php/symfony-opentelemetry/app/config/packages/twig.yaml diff --git a/php/symfony-collector/app/config/preload.php b/php/symfony-opentelemetry/app/config/preload.php similarity index 100% rename from php/symfony-collector/app/config/preload.php rename to php/symfony-opentelemetry/app/config/preload.php diff --git a/php/symfony-collector/app/config/routes.yaml b/php/symfony-opentelemetry/app/config/routes.yaml similarity index 100% rename from php/symfony-collector/app/config/routes.yaml rename to php/symfony-opentelemetry/app/config/routes.yaml diff --git a/php/symfony-collector/app/config/routes/framework.yaml b/php/symfony-opentelemetry/app/config/routes/framework.yaml similarity index 100% rename from php/symfony-collector/app/config/routes/framework.yaml rename to php/symfony-opentelemetry/app/config/routes/framework.yaml diff --git a/php/symfony-collector/app/config/services.yaml b/php/symfony-opentelemetry/app/config/services.yaml similarity index 100% rename from php/symfony-collector/app/config/services.yaml rename to php/symfony-opentelemetry/app/config/services.yaml diff --git a/php/symfony-collector/app/public/index.php b/php/symfony-opentelemetry/app/public/index.php similarity index 100% rename from php/symfony-collector/app/public/index.php rename to php/symfony-opentelemetry/app/public/index.php diff --git a/php/symfony-collector/app/src/Controller/.gitignore b/php/symfony-opentelemetry/app/src/Controller/.gitignore similarity index 100% rename from php/symfony-collector/app/src/Controller/.gitignore rename to php/symfony-opentelemetry/app/src/Controller/.gitignore diff --git a/php/symfony-collector/app/src/Controller/HomeController.php b/php/symfony-opentelemetry/app/src/Controller/HomeController.php similarity index 100% rename from php/symfony-collector/app/src/Controller/HomeController.php rename to php/symfony-opentelemetry/app/src/Controller/HomeController.php diff --git a/php/symfony-collector/app/src/Kernel.php b/php/symfony-opentelemetry/app/src/Kernel.php similarity index 100% rename from php/symfony-collector/app/src/Kernel.php rename to php/symfony-opentelemetry/app/src/Kernel.php diff --git a/php/symfony-collector/app/symfony.lock b/php/symfony-opentelemetry/app/symfony.lock similarity index 100% rename from php/symfony-collector/app/symfony.lock rename to php/symfony-opentelemetry/app/symfony.lock diff --git a/php/symfony-collector/app/templates/backtrace.html.twig b/php/symfony-opentelemetry/app/templates/backtrace.html.twig similarity index 100% rename from php/symfony-collector/app/templates/backtrace.html.twig rename to php/symfony-opentelemetry/app/templates/backtrace.html.twig diff --git a/php/symfony-collector/app/templates/base.html.twig b/php/symfony-opentelemetry/app/templates/base.html.twig similarity index 100% rename from php/symfony-collector/app/templates/base.html.twig rename to php/symfony-opentelemetry/app/templates/base.html.twig diff --git a/php/symfony-collector/app/templates/home/index.html.twig b/php/symfony-opentelemetry/app/templates/home/index.html.twig similarity index 100% rename from php/symfony-collector/app/templates/home/index.html.twig rename to php/symfony-opentelemetry/app/templates/home/index.html.twig diff --git a/php/symfony-collector/app/templates/home/slow.html.twig b/php/symfony-opentelemetry/app/templates/home/slow.html.twig similarity index 100% rename from php/symfony-collector/app/templates/home/slow.html.twig rename to php/symfony-opentelemetry/app/templates/home/slow.html.twig diff --git a/php/symfony-collector/commands/run b/php/symfony-opentelemetry/commands/run similarity index 100% rename from php/symfony-collector/commands/run rename to php/symfony-opentelemetry/commands/run diff --git a/php/symfony-collector/docker-compose.yml b/php/symfony-opentelemetry/docker-compose.yml similarity index 88% rename from php/symfony-collector/docker-compose.yml rename to php/symfony-opentelemetry/docker-compose.yml index affce129..287c1b83 100644 --- a/php/symfony-collector/docker-compose.yml +++ b/php/symfony-opentelemetry/docker-compose.yml @@ -10,7 +10,7 @@ services: ports: - '4001:4001' environment: - APPSIGNAL_APP_NAME: php/symfony-collector + APPSIGNAL_APP_NAME: php/symfony-opentelemetry APPSIGNAL_APP_ENV: development env_file: - ../../appsignal.env @@ -33,5 +33,5 @@ services: depends_on: - app environment: - - APP_NAME=php/symfony-collector + - APP_NAME=php/symfony-opentelemetry - APP_URL=http://app:4001 diff --git a/php/symfony-collector/docker/apache-site.conf b/php/symfony-opentelemetry/docker/apache-site.conf similarity index 100% rename from php/symfony-collector/docker/apache-site.conf rename to php/symfony-opentelemetry/docker/apache-site.conf diff --git a/php/symfony-collector/docker/php.ini b/php/symfony-opentelemetry/docker/php.ini similarity index 100% rename from php/symfony-collector/docker/php.ini rename to php/symfony-opentelemetry/docker/php.ini diff --git a/php/vanilla-collector/Dockerfile b/php/vanilla-opentelemetry/Dockerfile similarity index 100% rename from php/vanilla-collector/Dockerfile rename to php/vanilla-opentelemetry/Dockerfile diff --git a/php/vanilla-collector/app/bootstrap/instrumentation.php b/php/vanilla-opentelemetry/app/bootstrap/instrumentation.php similarity index 100% rename from php/vanilla-collector/app/bootstrap/instrumentation.php rename to php/vanilla-opentelemetry/app/bootstrap/instrumentation.php diff --git a/php/vanilla-collector/app/composer.json b/php/vanilla-opentelemetry/app/composer.json similarity index 100% rename from php/vanilla-collector/app/composer.json rename to php/vanilla-opentelemetry/app/composer.json diff --git a/php/vanilla-collector/app/composer.lock b/php/vanilla-opentelemetry/app/composer.lock similarity index 100% rename from php/vanilla-collector/app/composer.lock rename to php/vanilla-opentelemetry/app/composer.lock diff --git a/php/vanilla-collector/app/public/.htaccess b/php/vanilla-opentelemetry/app/public/.htaccess similarity index 100% rename from php/vanilla-collector/app/public/.htaccess rename to php/vanilla-opentelemetry/app/public/.htaccess diff --git a/php/vanilla-collector/app/public/index.php b/php/vanilla-opentelemetry/app/public/index.php similarity index 100% rename from php/vanilla-collector/app/public/index.php rename to php/vanilla-opentelemetry/app/public/index.php diff --git a/php/vanilla-collector/app/src/ErrorHandler.php b/php/vanilla-opentelemetry/app/src/ErrorHandler.php similarity index 100% rename from php/vanilla-collector/app/src/ErrorHandler.php rename to php/vanilla-opentelemetry/app/src/ErrorHandler.php diff --git a/php/vanilla-collector/commands/run b/php/vanilla-opentelemetry/commands/run similarity index 100% rename from php/vanilla-collector/commands/run rename to php/vanilla-opentelemetry/commands/run diff --git a/php/vanilla-collector/docker-compose.yml b/php/vanilla-opentelemetry/docker-compose.yml similarity index 89% rename from php/vanilla-collector/docker-compose.yml rename to php/vanilla-opentelemetry/docker-compose.yml index c9a9ba0a..c494beeb 100644 --- a/php/vanilla-collector/docker-compose.yml +++ b/php/vanilla-opentelemetry/docker-compose.yml @@ -11,7 +11,7 @@ services: ports: - "4001:4001" environment: - APPSIGNAL_APP_NAME: php/vanilla-collector + APPSIGNAL_APP_NAME: php/vanilla-opentelemetry APPSIGNAL_APP_ENV: development env_file: - ../../appsignal.env @@ -34,5 +34,5 @@ services: depends_on: - app environment: - - APP_NAME=php/vanilla-collector + - APP_NAME=php/vanilla-opentelemetry - APP_URL=http://app:4001 diff --git a/python/django5-celery-collector/Dockerfile b/python/django5-celery-opentelemetry/Dockerfile similarity index 100% rename from python/django5-celery-collector/Dockerfile rename to python/django5-celery-opentelemetry/Dockerfile diff --git a/python/django5-celery-collector/app/.gitignore b/python/django5-celery-opentelemetry/app/.gitignore similarity index 100% rename from python/django5-celery-collector/app/.gitignore rename to python/django5-celery-opentelemetry/app/.gitignore diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/__init__.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/__init__.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/__init__.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/__init__.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/asgi.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/asgi.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/asgi.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/asgi.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/opentelemetry.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/opentelemetry.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/opentelemetry.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/opentelemetry.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/settings.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/settings.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/settings.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/settings.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/templates/home.html b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/templates/home.html similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/templates/home.html rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/templates/home.html diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/urls.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/urls.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/urls.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/urls.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/views.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/views.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/views.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/views.py diff --git a/python/django5-celery-collector/app/appsignal_python_opentelemetry/wsgi.py b/python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/wsgi.py similarity index 100% rename from python/django5-celery-collector/app/appsignal_python_opentelemetry/wsgi.py rename to python/django5-celery-opentelemetry/app/appsignal_python_opentelemetry/wsgi.py diff --git a/python/django5-celery-collector/app/blog/__init__.py b/python/django5-celery-opentelemetry/app/blog/__init__.py similarity index 100% rename from python/django5-celery-collector/app/blog/__init__.py rename to python/django5-celery-opentelemetry/app/blog/__init__.py diff --git a/python/django5-celery-collector/app/blog/admin.py b/python/django5-celery-opentelemetry/app/blog/admin.py similarity index 100% rename from python/django5-celery-collector/app/blog/admin.py rename to python/django5-celery-opentelemetry/app/blog/admin.py diff --git a/python/django5-celery-collector/app/blog/apps.py b/python/django5-celery-opentelemetry/app/blog/apps.py similarity index 100% rename from python/django5-celery-collector/app/blog/apps.py rename to python/django5-celery-opentelemetry/app/blog/apps.py diff --git a/python/django5-celery-collector/app/blog/migrations/0001_initial.py b/python/django5-celery-opentelemetry/app/blog/migrations/0001_initial.py similarity index 100% rename from python/django5-celery-collector/app/blog/migrations/0001_initial.py rename to python/django5-celery-opentelemetry/app/blog/migrations/0001_initial.py diff --git a/python/django5-celery-collector/app/blog/migrations/__init__.py b/python/django5-celery-opentelemetry/app/blog/migrations/__init__.py similarity index 100% rename from python/django5-celery-collector/app/blog/migrations/__init__.py rename to python/django5-celery-opentelemetry/app/blog/migrations/__init__.py diff --git a/python/django5-celery-collector/app/blog/models.py b/python/django5-celery-opentelemetry/app/blog/models.py similarity index 100% rename from python/django5-celery-collector/app/blog/models.py rename to python/django5-celery-opentelemetry/app/blog/models.py diff --git a/python/django5-celery-collector/app/blog/templates/index.html b/python/django5-celery-opentelemetry/app/blog/templates/index.html similarity index 100% rename from python/django5-celery-collector/app/blog/templates/index.html rename to python/django5-celery-opentelemetry/app/blog/templates/index.html diff --git a/python/django5-celery-collector/app/blog/templates/show.html b/python/django5-celery-opentelemetry/app/blog/templates/show.html similarity index 100% rename from python/django5-celery-collector/app/blog/templates/show.html rename to python/django5-celery-opentelemetry/app/blog/templates/show.html diff --git a/python/django5-celery-collector/app/blog/tests.py b/python/django5-celery-opentelemetry/app/blog/tests.py similarity index 100% rename from python/django5-celery-collector/app/blog/tests.py rename to python/django5-celery-opentelemetry/app/blog/tests.py diff --git a/python/django5-celery-collector/app/blog/urls.py b/python/django5-celery-opentelemetry/app/blog/urls.py similarity index 100% rename from python/django5-celery-collector/app/blog/urls.py rename to python/django5-celery-opentelemetry/app/blog/urls.py diff --git a/python/django5-celery-collector/app/blog/views.py b/python/django5-celery-opentelemetry/app/blog/views.py similarity index 100% rename from python/django5-celery-collector/app/blog/views.py rename to python/django5-celery-opentelemetry/app/blog/views.py diff --git a/python/django5-celery-collector/app/manage.py b/python/django5-celery-opentelemetry/app/manage.py similarity index 100% rename from python/django5-celery-collector/app/manage.py rename to python/django5-celery-opentelemetry/app/manage.py diff --git a/python/django5-celery-collector/app/processmon.toml b/python/django5-celery-opentelemetry/app/processmon.toml similarity index 100% rename from python/django5-celery-collector/app/processmon.toml rename to python/django5-celery-opentelemetry/app/processmon.toml diff --git a/python/django5-celery-collector/app/requirements.txt b/python/django5-celery-opentelemetry/app/requirements.txt similarity index 100% rename from python/django5-celery-collector/app/requirements.txt rename to python/django5-celery-opentelemetry/app/requirements.txt diff --git a/python/django5-celery-collector/app/tasks.py b/python/django5-celery-opentelemetry/app/tasks.py similarity index 100% rename from python/django5-celery-collector/app/tasks.py rename to python/django5-celery-opentelemetry/app/tasks.py diff --git a/python/django5-celery-collector/commands/run b/python/django5-celery-opentelemetry/commands/run similarity index 100% rename from python/django5-celery-collector/commands/run rename to python/django5-celery-opentelemetry/commands/run diff --git a/python/django5-celery-collector/docker-compose.yml b/python/django5-celery-opentelemetry/docker-compose.yml similarity index 93% rename from python/django5-celery-collector/docker-compose.yml rename to python/django5-celery-opentelemetry/docker-compose.yml index a504bc3d..62744ea8 100644 --- a/python/django5-celery-collector/docker-compose.yml +++ b/python/django5-celery-opentelemetry/docker-compose.yml @@ -35,7 +35,7 @@ services: - ../../appsignal_key.env environment: - PORT=4001 - - APPSIGNAL_APP_NAME=python/django5-celery-collector + - APPSIGNAL_APP_NAME=python/django5-celery-opentelemetry - APPSIGNAL_APP_ENV=dev volumes: - ./app:/app diff --git a/python/django5-celery-collector/postgres.env b/python/django5-celery-opentelemetry/postgres.env similarity index 100% rename from python/django5-celery-collector/postgres.env rename to python/django5-celery-opentelemetry/postgres.env diff --git a/ruby/rails8-sidekiq-collector/Dockerfile b/ruby/rails8-sidekiq-opentelemetry/Dockerfile similarity index 100% rename from ruby/rails8-sidekiq-collector/Dockerfile rename to ruby/rails8-sidekiq-opentelemetry/Dockerfile diff --git a/ruby/rails8-sidekiq-collector/app/.dockerignore b/ruby/rails8-sidekiq-opentelemetry/app/.dockerignore similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.dockerignore rename to ruby/rails8-sidekiq-opentelemetry/app/.dockerignore diff --git a/ruby/rails8-sidekiq-collector/app/.gitattributes b/ruby/rails8-sidekiq-opentelemetry/app/.gitattributes similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.gitattributes rename to ruby/rails8-sidekiq-opentelemetry/app/.gitattributes diff --git a/ruby/rails8-sidekiq-collector/app/.github/dependabot.yml b/ruby/rails8-sidekiq-opentelemetry/app/.github/dependabot.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.github/dependabot.yml rename to ruby/rails8-sidekiq-opentelemetry/app/.github/dependabot.yml diff --git a/ruby/rails8-sidekiq-collector/app/.github/workflows/ci.yml b/ruby/rails8-sidekiq-opentelemetry/app/.github/workflows/ci.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.github/workflows/ci.yml rename to ruby/rails8-sidekiq-opentelemetry/app/.github/workflows/ci.yml diff --git a/ruby/rails8-sidekiq-collector/app/.gitignore b/ruby/rails8-sidekiq-opentelemetry/app/.gitignore similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.gitignore rename to ruby/rails8-sidekiq-opentelemetry/app/.gitignore diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/docker-setup.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/docker-setup.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/docker-setup.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/docker-setup.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/post-deploy.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/post-deploy.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/post-deploy.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/post-deploy.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/post-proxy-reboot.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/post-proxy-reboot.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/post-proxy-reboot.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/post-proxy-reboot.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-build.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-build.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-build.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-build.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-connect.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-connect.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-connect.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-connect.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-deploy.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-deploy.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-deploy.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-deploy.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-proxy-reboot.sample b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-proxy-reboot.sample similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/hooks/pre-proxy-reboot.sample rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/hooks/pre-proxy-reboot.sample diff --git a/ruby/rails8-sidekiq-collector/app/.kamal/secrets b/ruby/rails8-sidekiq-opentelemetry/app/.kamal/secrets similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.kamal/secrets rename to ruby/rails8-sidekiq-opentelemetry/app/.kamal/secrets diff --git a/ruby/rails8-sidekiq-collector/app/.rubocop.yml b/ruby/rails8-sidekiq-opentelemetry/app/.rubocop.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.rubocop.yml rename to ruby/rails8-sidekiq-opentelemetry/app/.rubocop.yml diff --git a/ruby/rails8-sidekiq-collector/app/.ruby-version b/ruby/rails8-sidekiq-opentelemetry/app/.ruby-version similarity index 100% rename from ruby/rails8-sidekiq-collector/app/.ruby-version rename to ruby/rails8-sidekiq-opentelemetry/app/.ruby-version diff --git a/ruby/rails8-sidekiq-collector/app/Dockerfile b/ruby/rails8-sidekiq-opentelemetry/app/Dockerfile similarity index 100% rename from ruby/rails8-sidekiq-collector/app/Dockerfile rename to ruby/rails8-sidekiq-opentelemetry/app/Dockerfile diff --git a/ruby/rails8-sidekiq-collector/app/Gemfile b/ruby/rails8-sidekiq-opentelemetry/app/Gemfile similarity index 100% rename from ruby/rails8-sidekiq-collector/app/Gemfile rename to ruby/rails8-sidekiq-opentelemetry/app/Gemfile diff --git a/ruby/rails8-sidekiq-collector/app/Gemfile.lock b/ruby/rails8-sidekiq-opentelemetry/app/Gemfile.lock similarity index 100% rename from ruby/rails8-sidekiq-collector/app/Gemfile.lock rename to ruby/rails8-sidekiq-opentelemetry/app/Gemfile.lock diff --git a/ruby/rails8-sidekiq-collector/app/README.md b/ruby/rails8-sidekiq-opentelemetry/app/README.md similarity index 100% rename from ruby/rails8-sidekiq-collector/app/README.md rename to ruby/rails8-sidekiq-opentelemetry/app/README.md diff --git a/ruby/rails8-sidekiq-collector/app/Rakefile b/ruby/rails8-sidekiq-opentelemetry/app/Rakefile similarity index 100% rename from ruby/rails8-sidekiq-collector/app/Rakefile rename to ruby/rails8-sidekiq-opentelemetry/app/Rakefile diff --git a/ruby/rails8-sidekiq-collector/app/app/assets/images/.keep b/ruby/rails8-sidekiq-opentelemetry/app/app/assets/images/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/assets/images/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/app/assets/images/.keep diff --git a/ruby/rails8-sidekiq-collector/app/app/assets/stylesheets/application.css b/ruby/rails8-sidekiq-opentelemetry/app/app/assets/stylesheets/application.css similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/assets/stylesheets/application.css rename to ruby/rails8-sidekiq-opentelemetry/app/app/assets/stylesheets/application.css diff --git a/ruby/rails8-sidekiq-collector/app/app/controllers/application_controller.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/controllers/application_controller.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/controllers/application_controller.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/controllers/application_controller.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/controllers/concerns/.keep b/ruby/rails8-sidekiq-opentelemetry/app/app/controllers/concerns/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/controllers/concerns/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/app/controllers/concerns/.keep diff --git a/ruby/rails8-sidekiq-collector/app/app/controllers/examples_controller.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/controllers/examples_controller.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/controllers/examples_controller.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/controllers/examples_controller.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/controllers/workers_controller.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/controllers/workers_controller.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/controllers/workers_controller.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/controllers/workers_controller.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/helpers/application_helper.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/helpers/application_helper.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/helpers/application_helper.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/helpers/application_helper.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/javascript/application.js b/ruby/rails8-sidekiq-opentelemetry/app/app/javascript/application.js similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/javascript/application.js rename to ruby/rails8-sidekiq-opentelemetry/app/app/javascript/application.js diff --git a/ruby/rails8-sidekiq-collector/app/app/javascript/controllers/application.js b/ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/application.js similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/javascript/controllers/application.js rename to ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/application.js diff --git a/ruby/rails8-sidekiq-collector/app/app/javascript/controllers/hello_controller.js b/ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/hello_controller.js similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/javascript/controllers/hello_controller.js rename to ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/hello_controller.js diff --git a/ruby/rails8-sidekiq-collector/app/app/javascript/controllers/index.js b/ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/index.js similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/javascript/controllers/index.js rename to ruby/rails8-sidekiq-opentelemetry/app/app/javascript/controllers/index.js diff --git a/ruby/rails8-sidekiq-collector/app/app/jobs/application_job.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/jobs/application_job.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/jobs/application_job.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/jobs/application_job.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/mailers/application_mailer.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/mailers/application_mailer.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/mailers/application_mailer.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/mailers/application_mailer.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/mailers/error_mailer.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/mailers/error_mailer.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/mailers/error_mailer.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/mailers/error_mailer.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/mailers/performance_mailer.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/mailers/performance_mailer.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/mailers/performance_mailer.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/mailers/performance_mailer.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/models/application_record.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/models/application_record.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/models/application_record.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/models/application_record.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/models/concerns/.keep b/ruby/rails8-sidekiq-opentelemetry/app/app/models/concerns/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/models/concerns/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/app/models/concerns/.keep diff --git a/ruby/rails8-sidekiq-collector/app/app/views/examples/index.html.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/examples/index.html.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/examples/index.html.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/examples/index.html.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/examples/slow.html.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/examples/slow.html.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/examples/slow.html.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/examples/slow.html.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/layouts/application.html.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/application.html.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/layouts/application.html.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/application.html.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/layouts/mailer.html.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/mailer.html.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/layouts/mailer.html.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/mailer.html.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/layouts/mailer.text.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/mailer.text.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/layouts/mailer.text.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/layouts/mailer.text.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/pwa/manifest.json.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/pwa/manifest.json.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/pwa/manifest.json.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/pwa/manifest.json.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/views/pwa/service-worker.js b/ruby/rails8-sidekiq-opentelemetry/app/app/views/pwa/service-worker.js similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/pwa/service-worker.js rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/pwa/service-worker.js diff --git a/ruby/rails8-sidekiq-collector/app/app/views/workers/index.html.erb b/ruby/rails8-sidekiq-opentelemetry/app/app/views/workers/index.html.erb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/views/workers/index.html.erb rename to ruby/rails8-sidekiq-opentelemetry/app/app/views/workers/index.html.erb diff --git a/ruby/rails8-sidekiq-collector/app/app/workers/active_job_error_worker.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/workers/active_job_error_worker.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/workers/active_job_error_worker.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/workers/active_job_error_worker.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/workers/active_job_performance_worker.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/workers/active_job_performance_worker.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/workers/active_job_performance_worker.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/workers/active_job_performance_worker.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/workers/error_worker.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/workers/error_worker.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/workers/error_worker.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/workers/error_worker.rb diff --git a/ruby/rails8-sidekiq-collector/app/app/workers/performance_worker.rb b/ruby/rails8-sidekiq-opentelemetry/app/app/workers/performance_worker.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/app/workers/performance_worker.rb rename to ruby/rails8-sidekiq-opentelemetry/app/app/workers/performance_worker.rb diff --git a/ruby/rails8-sidekiq-collector/app/bin/brakeman b/ruby/rails8-sidekiq-opentelemetry/app/bin/brakeman similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/brakeman rename to ruby/rails8-sidekiq-opentelemetry/app/bin/brakeman diff --git a/ruby/rails8-sidekiq-collector/app/bin/bundle b/ruby/rails8-sidekiq-opentelemetry/app/bin/bundle similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/bundle rename to ruby/rails8-sidekiq-opentelemetry/app/bin/bundle diff --git a/ruby/rails8-sidekiq-collector/app/bin/dev b/ruby/rails8-sidekiq-opentelemetry/app/bin/dev similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/dev rename to ruby/rails8-sidekiq-opentelemetry/app/bin/dev diff --git a/ruby/rails8-sidekiq-collector/app/bin/docker-entrypoint b/ruby/rails8-sidekiq-opentelemetry/app/bin/docker-entrypoint similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/docker-entrypoint rename to ruby/rails8-sidekiq-opentelemetry/app/bin/docker-entrypoint diff --git a/ruby/rails8-sidekiq-collector/app/bin/importmap b/ruby/rails8-sidekiq-opentelemetry/app/bin/importmap similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/importmap rename to ruby/rails8-sidekiq-opentelemetry/app/bin/importmap diff --git a/ruby/rails8-sidekiq-collector/app/bin/jobs b/ruby/rails8-sidekiq-opentelemetry/app/bin/jobs similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/jobs rename to ruby/rails8-sidekiq-opentelemetry/app/bin/jobs diff --git a/ruby/rails8-sidekiq-collector/app/bin/kamal b/ruby/rails8-sidekiq-opentelemetry/app/bin/kamal similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/kamal rename to ruby/rails8-sidekiq-opentelemetry/app/bin/kamal diff --git a/ruby/rails8-sidekiq-collector/app/bin/rails b/ruby/rails8-sidekiq-opentelemetry/app/bin/rails similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/rails rename to ruby/rails8-sidekiq-opentelemetry/app/bin/rails diff --git a/ruby/rails8-sidekiq-collector/app/bin/rake b/ruby/rails8-sidekiq-opentelemetry/app/bin/rake similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/rake rename to ruby/rails8-sidekiq-opentelemetry/app/bin/rake diff --git a/ruby/rails8-sidekiq-collector/app/bin/rubocop b/ruby/rails8-sidekiq-opentelemetry/app/bin/rubocop similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/rubocop rename to ruby/rails8-sidekiq-opentelemetry/app/bin/rubocop diff --git a/ruby/rails8-sidekiq-collector/app/bin/setup b/ruby/rails8-sidekiq-opentelemetry/app/bin/setup similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/setup rename to ruby/rails8-sidekiq-opentelemetry/app/bin/setup diff --git a/ruby/rails8-sidekiq-collector/app/bin/thrust b/ruby/rails8-sidekiq-opentelemetry/app/bin/thrust similarity index 100% rename from ruby/rails8-sidekiq-collector/app/bin/thrust rename to ruby/rails8-sidekiq-opentelemetry/app/bin/thrust diff --git a/ruby/rails8-sidekiq-collector/app/config.ru b/ruby/rails8-sidekiq-opentelemetry/app/config.ru similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config.ru rename to ruby/rails8-sidekiq-opentelemetry/app/config.ru diff --git a/ruby/rails8-sidekiq-collector/app/config/application.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/application.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/application.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/application.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/appsignal.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/appsignal.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/appsignal.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/appsignal.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/boot.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/boot.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/boot.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/boot.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/cable.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/cable.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/cable.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/cable.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/cache.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/cache.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/cache.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/cache.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/credentials.yml.enc b/ruby/rails8-sidekiq-opentelemetry/app/config/credentials.yml.enc similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/credentials.yml.enc rename to ruby/rails8-sidekiq-opentelemetry/app/config/credentials.yml.enc diff --git a/ruby/rails8-sidekiq-collector/app/config/database.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/database.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/database.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/database.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/deploy.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/deploy.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/deploy.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/deploy.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/environment.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/environment.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/environment.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/environment.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/environments/development.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/environments/development.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/environments/development.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/environments/development.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/environments/production.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/environments/production.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/environments/production.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/environments/production.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/environments/test.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/environments/test.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/environments/test.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/environments/test.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/importmap.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/importmap.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/importmap.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/importmap.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/initializers/assets.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/initializers/assets.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/initializers/assets.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/initializers/assets.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/initializers/content_security_policy.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/initializers/content_security_policy.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/initializers/content_security_policy.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/initializers/content_security_policy.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/initializers/filter_parameter_logging.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/initializers/filter_parameter_logging.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/initializers/filter_parameter_logging.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/initializers/filter_parameter_logging.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/initializers/inflections.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/initializers/inflections.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/initializers/inflections.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/initializers/inflections.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/initializers/opentelemetry.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/initializers/opentelemetry.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/initializers/opentelemetry.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/initializers/opentelemetry.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/locales/en.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/locales/en.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/locales/en.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/locales/en.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/puma.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/puma.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/puma.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/puma.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/queue.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/queue.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/queue.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/queue.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/recurring.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/recurring.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/recurring.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/recurring.yml diff --git a/ruby/rails8-sidekiq-collector/app/config/routes.rb b/ruby/rails8-sidekiq-opentelemetry/app/config/routes.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/routes.rb rename to ruby/rails8-sidekiq-opentelemetry/app/config/routes.rb diff --git a/ruby/rails8-sidekiq-collector/app/config/storage.yml b/ruby/rails8-sidekiq-opentelemetry/app/config/storage.yml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/config/storage.yml rename to ruby/rails8-sidekiq-opentelemetry/app/config/storage.yml diff --git a/ruby/rails8-sidekiq-collector/app/db/cable_schema.rb b/ruby/rails8-sidekiq-opentelemetry/app/db/cable_schema.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/db/cable_schema.rb rename to ruby/rails8-sidekiq-opentelemetry/app/db/cable_schema.rb diff --git a/ruby/rails8-sidekiq-collector/app/db/cache_schema.rb b/ruby/rails8-sidekiq-opentelemetry/app/db/cache_schema.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/db/cache_schema.rb rename to ruby/rails8-sidekiq-opentelemetry/app/db/cache_schema.rb diff --git a/ruby/rails8-sidekiq-collector/app/db/queue_schema.rb b/ruby/rails8-sidekiq-opentelemetry/app/db/queue_schema.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/db/queue_schema.rb rename to ruby/rails8-sidekiq-opentelemetry/app/db/queue_schema.rb diff --git a/ruby/rails8-sidekiq-collector/app/db/schema.rb b/ruby/rails8-sidekiq-opentelemetry/app/db/schema.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/db/schema.rb rename to ruby/rails8-sidekiq-opentelemetry/app/db/schema.rb diff --git a/ruby/rails8-sidekiq-collector/app/db/seeds.rb b/ruby/rails8-sidekiq-opentelemetry/app/db/seeds.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/db/seeds.rb rename to ruby/rails8-sidekiq-opentelemetry/app/db/seeds.rb diff --git a/ruby/rails8-sidekiq-collector/app/lib/tasks/.keep b/ruby/rails8-sidekiq-opentelemetry/app/lib/tasks/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/lib/tasks/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/lib/tasks/.keep diff --git a/ruby/rails8-sidekiq-collector/app/log/.keep b/ruby/rails8-sidekiq-opentelemetry/app/log/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/log/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/log/.keep diff --git a/ruby/rails8-sidekiq-collector/app/processmon.toml b/ruby/rails8-sidekiq-opentelemetry/app/processmon.toml similarity index 100% rename from ruby/rails8-sidekiq-collector/app/processmon.toml rename to ruby/rails8-sidekiq-opentelemetry/app/processmon.toml diff --git a/ruby/rails8-sidekiq-collector/app/public/400.html b/ruby/rails8-sidekiq-opentelemetry/app/public/400.html similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/400.html rename to ruby/rails8-sidekiq-opentelemetry/app/public/400.html diff --git a/ruby/rails8-sidekiq-collector/app/public/404.html b/ruby/rails8-sidekiq-opentelemetry/app/public/404.html similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/404.html rename to ruby/rails8-sidekiq-opentelemetry/app/public/404.html diff --git a/ruby/rails8-sidekiq-collector/app/public/406-unsupported-browser.html b/ruby/rails8-sidekiq-opentelemetry/app/public/406-unsupported-browser.html similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/406-unsupported-browser.html rename to ruby/rails8-sidekiq-opentelemetry/app/public/406-unsupported-browser.html diff --git a/ruby/rails8-sidekiq-collector/app/public/422.html b/ruby/rails8-sidekiq-opentelemetry/app/public/422.html similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/422.html rename to ruby/rails8-sidekiq-opentelemetry/app/public/422.html diff --git a/ruby/rails8-sidekiq-collector/app/public/500.html b/ruby/rails8-sidekiq-opentelemetry/app/public/500.html similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/500.html rename to ruby/rails8-sidekiq-opentelemetry/app/public/500.html diff --git a/ruby/rails8-sidekiq-collector/app/public/icon.png b/ruby/rails8-sidekiq-opentelemetry/app/public/icon.png similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/icon.png rename to ruby/rails8-sidekiq-opentelemetry/app/public/icon.png diff --git a/ruby/rails8-sidekiq-collector/app/public/icon.svg b/ruby/rails8-sidekiq-opentelemetry/app/public/icon.svg similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/icon.svg rename to ruby/rails8-sidekiq-opentelemetry/app/public/icon.svg diff --git a/ruby/rails8-sidekiq-collector/app/public/robots.txt b/ruby/rails8-sidekiq-opentelemetry/app/public/robots.txt similarity index 100% rename from ruby/rails8-sidekiq-collector/app/public/robots.txt rename to ruby/rails8-sidekiq-opentelemetry/app/public/robots.txt diff --git a/ruby/rails8-sidekiq-collector/app/script/.keep b/ruby/rails8-sidekiq-opentelemetry/app/script/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/script/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/script/.keep diff --git a/ruby/rails8-sidekiq-collector/app/storage/.keep b/ruby/rails8-sidekiq-opentelemetry/app/storage/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/storage/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/storage/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/application_system_test_case.rb b/ruby/rails8-sidekiq-opentelemetry/app/test/application_system_test_case.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/application_system_test_case.rb rename to ruby/rails8-sidekiq-opentelemetry/app/test/application_system_test_case.rb diff --git a/ruby/rails8-sidekiq-collector/app/test/controllers/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/controllers/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/controllers/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/controllers/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/fixtures/files/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/fixtures/files/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/fixtures/files/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/fixtures/files/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/helpers/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/helpers/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/helpers/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/helpers/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/integration/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/integration/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/integration/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/integration/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/mailers/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/mailers/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/mailers/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/mailers/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/models/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/models/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/models/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/models/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/system/.keep b/ruby/rails8-sidekiq-opentelemetry/app/test/system/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/system/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/test/system/.keep diff --git a/ruby/rails8-sidekiq-collector/app/test/test_helper.rb b/ruby/rails8-sidekiq-opentelemetry/app/test/test_helper.rb similarity index 100% rename from ruby/rails8-sidekiq-collector/app/test/test_helper.rb rename to ruby/rails8-sidekiq-opentelemetry/app/test/test_helper.rb diff --git a/ruby/rails8-sidekiq-collector/app/tmp/.keep b/ruby/rails8-sidekiq-opentelemetry/app/tmp/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/tmp/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/tmp/.keep diff --git a/ruby/rails8-sidekiq-collector/app/tmp/pids/.keep b/ruby/rails8-sidekiq-opentelemetry/app/tmp/pids/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/tmp/pids/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/tmp/pids/.keep diff --git a/ruby/rails8-sidekiq-collector/app/tmp/storage/.keep b/ruby/rails8-sidekiq-opentelemetry/app/tmp/storage/.keep similarity index 100% rename from ruby/rails8-sidekiq-collector/app/tmp/storage/.keep rename to ruby/rails8-sidekiq-opentelemetry/app/tmp/storage/.keep diff --git a/ruby/rails8-sidekiq-collector/commands/console b/ruby/rails8-sidekiq-opentelemetry/commands/console similarity index 100% rename from ruby/rails8-sidekiq-collector/commands/console rename to ruby/rails8-sidekiq-opentelemetry/commands/console diff --git a/ruby/rails8-sidekiq-collector/commands/diagnose b/ruby/rails8-sidekiq-opentelemetry/commands/diagnose similarity index 100% rename from ruby/rails8-sidekiq-collector/commands/diagnose rename to ruby/rails8-sidekiq-opentelemetry/commands/diagnose diff --git a/ruby/rails8-sidekiq-collector/commands/run b/ruby/rails8-sidekiq-opentelemetry/commands/run similarity index 100% rename from ruby/rails8-sidekiq-collector/commands/run rename to ruby/rails8-sidekiq-opentelemetry/commands/run diff --git a/ruby/rails8-sidekiq-collector/docker-compose.yml b/ruby/rails8-sidekiq-opentelemetry/docker-compose.yml similarity index 83% rename from ruby/rails8-sidekiq-collector/docker-compose.yml rename to ruby/rails8-sidekiq-opentelemetry/docker-compose.yml index fa0152b0..aabf0358 100644 --- a/ruby/rails8-sidekiq-collector/docker-compose.yml +++ b/ruby/rails8-sidekiq-opentelemetry/docker-compose.yml @@ -19,14 +19,14 @@ services: - ../../appsignal_key.env app: build: . - image: ruby/rails8-sidekiq-collector + image: ruby/rails8-sidekiq-opentelemetry depends_on: - postgres - redis ports: - "4001:4001" environment: - - APPSIGNAL_APP_NAME=ruby/rails8-sidekiq-collector + - APPSIGNAL_APP_NAME=ruby/rails8-sidekiq-opentelemetry - PORT=4001 env_file: - postgres.env @@ -43,5 +43,5 @@ services: depends_on: - app environment: - - APP_NAME=ruby/rails8-sidekiq-collector + - APP_NAME=ruby/rails8-sidekiq-opentelemetry - APP_URL=http://app:4001 diff --git a/ruby/rails8-sidekiq-collector/postgres.env b/ruby/rails8-sidekiq-opentelemetry/postgres.env similarity index 100% rename from ruby/rails8-sidekiq-collector/postgres.env rename to ruby/rails8-sidekiq-opentelemetry/postgres.env diff --git a/ruby/rails8-sidekiq-collector/redis.env b/ruby/rails8-sidekiq-opentelemetry/redis.env similarity index 100% rename from ruby/rails8-sidekiq-collector/redis.env rename to ruby/rails8-sidekiq-opentelemetry/redis.env From b52da66789c26e33660b49e902030a274f0a8d78 Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 16:58:12 +0200 Subject: [PATCH 5/9] Add collector mode to Ruby 3.1+ agent setups Roll the agent/collector toggle out to the remaining Ruby 3.1+ agent setups, following the pattern already used for the initial subset: a shared compose file per app, included by the agent and collector files, with a mode-aware app name and the OpenTelemetry gems needed for collector mode. --- README.md | 14 +++ ruby/hanami2-postgres/app/Gemfile | 10 +++ ruby/hanami2-postgres/app/Gemfile.lock | 88 ++++++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 41 +++++++++ ruby/hanami2-postgres/docker-compose.yml | 37 +------- ruby/rails6-mysql/app/Gemfile | 10 +++ ruby/rails6-mysql/app/Gemfile.lock | 71 +++++++++++++-- .../rails6-mysql/docker-compose.collector.yml | 9 ++ ruby/rails6-mysql/docker-compose.shared.yml | 39 ++++++++ ruby/rails6-mysql/docker-compose.yml | 35 +------- ruby/rails6-shakapacker/app/Gemfile | 10 +++ ruby/rails6-shakapacker/app/Gemfile.lock | 71 ++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 37 ++++++++ ruby/rails6-shakapacker/docker-compose.yml | 33 +------ ruby/rails6-shoryuken/app/Gemfile | 11 +++ ruby/rails6-shoryuken/app/Gemfile.lock | 68 +++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 35 ++++++++ ruby/rails6-shoryuken/docker-compose.yml | 31 +------ ruby/rails7-delayed-job/app/Gemfile | 10 +++ ruby/rails7-delayed-job/app/Gemfile.lock | 74 +++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 35 ++++++++ ruby/rails7-delayed-job/docker-compose.yml | 31 +------ ruby/rails7-goodjob/app/Gemfile | 11 +++ ruby/rails7-goodjob/app/Gemfile.lock | 67 +++++++++++++- .../docker-compose.collector.yml | 9 ++ ruby/rails7-goodjob/docker-compose.shared.yml | 36 ++++++++ ruby/rails7-goodjob/docker-compose.yml | 32 +------ ruby/rails7-sequel/app/Gemfile | 10 +++ ruby/rails7-sequel/app/Gemfile.lock | 67 +++++++++++++- .../docker-compose.collector.yml | 9 ++ ruby/rails7-sequel/docker-compose.shared.yml | 36 ++++++++ ruby/rails7-sequel/docker-compose.yml | 32 +------ ruby/rails7-solid-cache/app/Gemfile | 10 +++ ruby/rails7-solid-cache/app/Gemfile.lock | 74 +++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 38 ++++++++ ruby/rails7-solid-cache/docker-compose.yml | 34 +------ ruby/rails7-solid-queue/app/Gemfile | 10 +++ ruby/rails7-solid-queue/app/Gemfile.lock | 68 +++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 35 ++++++++ ruby/rails7-solid-queue/docker-compose.yml | 31 +------ ruby/rails8-delayed-job/app/Gemfile | 10 +++ ruby/rails8-delayed-job/app/Gemfile.lock | 88 ++++++++++++++++++- .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 33 +++++++ ruby/rails8-delayed-job/docker-compose.yml | 31 +------ ruby/sinatra-alpine/app/Gemfile | 11 +++ ruby/sinatra-alpine/app/Gemfile.lock | 69 ++++++++++++++- .../docker-compose.collector.yml | 9 ++ ruby/sinatra-alpine/docker-compose.shared.yml | 29 ++++++ ruby/sinatra-alpine/docker-compose.yml | 25 +----- ruby/sinatra-gvltools/app/Gemfile | 11 +++ .../docker-compose.collector.yml | 9 ++ .../docker-compose.shared.yml | 29 ++++++ ruby/sinatra-gvltools/docker-compose.yml | 25 +----- ruby/webmachine1/app/Gemfile | 11 +++ ruby/webmachine1/app/Gemfile.lock | 72 ++++++++++++++- ruby/webmachine1/docker-compose.collector.yml | 9 ++ ruby/webmachine1/docker-compose.shared.yml | 29 ++++++ ruby/webmachine1/docker-compose.yml | 25 +----- ruby/webmachine2/app/Gemfile | 11 +++ ruby/webmachine2/app/Gemfile.lock | 72 ++++++++++++++- ruby/webmachine2/docker-compose.collector.yml | 9 ++ ruby/webmachine2/docker-compose.shared.yml | 29 ++++++ ruby/webmachine2/docker-compose.yml | 25 +----- 70 files changed, 1703 insertions(+), 440 deletions(-) create mode 100644 ruby/hanami2-postgres/docker-compose.collector.yml create mode 100644 ruby/hanami2-postgres/docker-compose.shared.yml create mode 100644 ruby/rails6-mysql/docker-compose.collector.yml create mode 100644 ruby/rails6-mysql/docker-compose.shared.yml create mode 100644 ruby/rails6-shakapacker/docker-compose.collector.yml create mode 100644 ruby/rails6-shakapacker/docker-compose.shared.yml create mode 100644 ruby/rails6-shoryuken/docker-compose.collector.yml create mode 100644 ruby/rails6-shoryuken/docker-compose.shared.yml create mode 100644 ruby/rails7-delayed-job/docker-compose.collector.yml create mode 100644 ruby/rails7-delayed-job/docker-compose.shared.yml create mode 100644 ruby/rails7-goodjob/docker-compose.collector.yml create mode 100644 ruby/rails7-goodjob/docker-compose.shared.yml create mode 100644 ruby/rails7-sequel/docker-compose.collector.yml create mode 100644 ruby/rails7-sequel/docker-compose.shared.yml create mode 100644 ruby/rails7-solid-cache/docker-compose.collector.yml create mode 100644 ruby/rails7-solid-cache/docker-compose.shared.yml create mode 100644 ruby/rails7-solid-queue/docker-compose.collector.yml create mode 100644 ruby/rails7-solid-queue/docker-compose.shared.yml create mode 100644 ruby/rails8-delayed-job/docker-compose.collector.yml create mode 100644 ruby/rails8-delayed-job/docker-compose.shared.yml create mode 100644 ruby/sinatra-alpine/docker-compose.collector.yml create mode 100644 ruby/sinatra-alpine/docker-compose.shared.yml create mode 100644 ruby/sinatra-gvltools/docker-compose.collector.yml create mode 100644 ruby/sinatra-gvltools/docker-compose.shared.yml create mode 100644 ruby/webmachine1/docker-compose.collector.yml create mode 100644 ruby/webmachine1/docker-compose.shared.yml create mode 100644 ruby/webmachine2/docker-compose.collector.yml create mode 100644 ruby/webmachine2/docker-compose.shared.yml diff --git a/README.md b/README.md index c1dffb0f..bbe1b8d6 100644 --- a/README.md +++ b/README.md @@ -218,9 +218,23 @@ command (it defaults to `mode=agent`). The setups that support collector mode: ``` rake app=python/django5-celery mode=collector app:up rake app=ruby/grape mode=collector app:up +rake app=ruby/hanami2-postgres mode=collector app:up rake app=ruby/rack mode=collector app:up +rake app=ruby/rails6-mysql mode=collector app:up +rake app=ruby/rails6-shakapacker mode=collector app:up +rake app=ruby/rails6-shoryuken mode=collector app:up +rake app=ruby/rails7-delayed-job mode=collector app:up +rake app=ruby/rails7-goodjob mode=collector app:up rake app=ruby/rails7-postgres mode=collector app:up +rake app=ruby/rails7-sequel mode=collector app:up +rake app=ruby/rails7-solid-cache mode=collector app:up +rake app=ruby/rails7-solid-queue mode=collector app:up +rake app=ruby/rails8-delayed-job mode=collector app:up rake app=ruby/rails8-sidekiq mode=collector app:up +rake app=ruby/sinatra-alpine mode=collector app:up +rake app=ruby/sinatra-gvltools mode=collector app:up +rake app=ruby/webmachine1 mode=collector app:up +rake app=ruby/webmachine2 mode=collector app:up ``` To restart the app container after making changes to an integration: diff --git a/ruby/hanami2-postgres/app/Gemfile b/ruby/hanami2-postgres/app/Gemfile index d84b5c52..c92ed105 100644 --- a/ruby/hanami2-postgres/app/Gemfile +++ b/ruby/hanami2-postgres/app/Gemfile @@ -17,6 +17,16 @@ gem "rake" gem "pg" gem "appsignal", :path => "/integration" +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + group :development do gem "hanami-webconsole", "~> 2.2" end diff --git a/ruby/hanami2-postgres/app/Gemfile.lock b/ruby/hanami2-postgres/app/Gemfile.lock index 340b1eb8..59c0607d 100644 --- a/ruby/hanami2-postgres/app/Gemfile.lock +++ b/ruby/hanami2-postgres/app/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: /integration specs: - appsignal (4.5.17) + appsignal (4.8.0) logger rack (>= 2.0.0) @@ -113,6 +113,35 @@ GEM ffi (1.17.0-x86_64-linux-gnu) ffi (1.17.0-x86_64-linux-musl) formatador (1.1.0) + google-protobuf (4.33.6) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-aarch64-linux-musl) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-arm64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86-linux-musl) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-musl) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) guard (2.19.0) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -221,6 +250,57 @@ GEM notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) pg (1.5.9) pry (0.14.2) coderay (~> 1.1) @@ -318,6 +398,12 @@ DEPENDENCIES hanami-validations (~> 2.2) hanami-view (~> 2.2) hanami-webconsole (~> 2.2) + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg puma rack-test diff --git a/ruby/hanami2-postgres/docker-compose.collector.yml b/ruby/hanami2-postgres/docker-compose.collector.yml new file mode 100644 index 00000000..18dd6259 --- /dev/null +++ b/ruby/hanami2-postgres/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-hanami2-postgres-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/hanami2-postgres/docker-compose.shared.yml b/ruby/hanami2-postgres/docker-compose.shared.yml new file mode 100644 index 00000000..8688e44f --- /dev/null +++ b/ruby/hanami2-postgres/docker-compose.shared.yml @@ -0,0 +1,41 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres:16.0 + env_file: + - postgres.env + app: + build: . + image: ruby/hanami2-postgres + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + - PGHOST=postgres + - PGDATABASE=app_db + - PGUSER=app + - PGPASSWORD=password + - DATABASE_URL=postgres://app:password@postgres:5432/app_db + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/hanami2-postgres + - APP_URL=http://app:4001 diff --git a/ruby/hanami2-postgres/docker-compose.yml b/ruby/hanami2-postgres/docker-compose.yml index 309e817e..c4425ba2 100644 --- a/ruby/hanami2-postgres/docker-compose.yml +++ b/ruby/hanami2-postgres/docker-compose.yml @@ -1,42 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres:16.0 - env_file: - - postgres.env app: - build: . - image: ruby/hanami2-postgres - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-hanami2-postgres - - PORT=4001 - - PGHOST=postgres - - PGDATABASE=app_db - - PGUSER=app - - PGPASSWORD=password - - DATABASE_URL=postgres://app:password@postgres:5432/app_db - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/hanami2-postgres - - APP_URL=http://app:4001 diff --git a/ruby/rails6-mysql/app/Gemfile b/ruby/rails6-mysql/app/Gemfile index 5f7824f3..b06da795 100644 --- a/ruby/rails6-mysql/app/Gemfile +++ b/ruby/rails6-mysql/app/Gemfile @@ -5,6 +5,16 @@ ruby '3.2.2' gem "appsignal", :path => "/integration" +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' gem 'rails', '~> 6.1.4', '>= 6.1.4.6' # Use mysql2 as the database for Active Record diff --git a/ruby/rails6-mysql/app/Gemfile.lock b/ruby/rails6-mysql/app/Gemfile.lock index d9a1da94..0442a86f 100644 --- a/ruby/rails6-mysql/app/Gemfile.lock +++ b/ruby/rails6-mysql/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.5.5) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -68,6 +69,7 @@ GEM zeitwerk (~> 2.3) addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.16.0) msgpack (~> 1.2) @@ -89,6 +91,11 @@ GEM ffi (1.15.5) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.12.0) concurrent-ruby (~> 1.0) jbuilder (2.11.5) @@ -97,6 +104,7 @@ GEM listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -124,13 +132,61 @@ GEM nio4r (2.5.9) nokogiri (1.14.2-x86_64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) public_suffix (5.0.1) puma (5.6.5) nio4r (~> 2.0) racc (1.6.2) rack (2.2.6.4) - rack-mini-profiler (2.3.4) - rack (>= 1.2.0) rack-proxy (0.7.6) rack rack-test (2.1.0) @@ -220,8 +276,13 @@ DEPENDENCIES jbuilder (~> 2.7) listen (~> 3.3) mysql2 (~> 0.5) + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) puma (~> 5.0) - rack-mini-profiler (~> 2.0) rails (~> 6.1.4, >= 6.1.4.6) selenium-webdriver turbolinks (~> 5) diff --git a/ruby/rails6-mysql/docker-compose.collector.yml b/ruby/rails6-mysql/docker-compose.collector.yml new file mode 100644 index 00000000..a17f41c8 --- /dev/null +++ b/ruby/rails6-mysql/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails6-mysql-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails6-mysql/docker-compose.shared.yml b/ruby/rails6-mysql/docker-compose.shared.yml new file mode 100644 index 00000000..b03fd69e --- /dev/null +++ b/ruby/rails6-mysql/docker-compose.shared.yml @@ -0,0 +1,39 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + mysql: + image: mysql + cap_add: + - SYS_NICE # To silent non-important errors + env_file: + - mysql.env + app: + build: . + platform: linux/amd64 + image: ruby/rails6-mysql + depends_on: + - mysql + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - mysql.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails6-mysql + - APP_URL=http://app:4001 diff --git a/ruby/rails6-mysql/docker-compose.yml b/ruby/rails6-mysql/docker-compose.yml index 897c574b..29a1f39f 100644 --- a/ruby/rails6-mysql/docker-compose.yml +++ b/ruby/rails6-mysql/docker-compose.yml @@ -1,40 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - mysql: - image: mysql - cap_add: - - SYS_NICE # To silent non-important errors - env_file: - - mysql.env app: - build: . - platform: linux/amd64 - image: ruby/rails6-mysql - depends_on: - - mysql - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails6-mysql - - PORT=4001 - env_file: - - mysql.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails6-mysql - - APP_URL=http://app:4001 diff --git a/ruby/rails6-shakapacker/app/Gemfile b/ruby/rails6-shakapacker/app/Gemfile index 9e9b7956..781c9e9b 100644 --- a/ruby/rails6-shakapacker/app/Gemfile +++ b/ruby/rails6-shakapacker/app/Gemfile @@ -51,3 +51,13 @@ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem "shakapacker", "= 6.6" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" diff --git a/ruby/rails6-shakapacker/app/Gemfile.lock b/ruby/rails6-shakapacker/app/Gemfile.lock index 8236b49e..a535e01d 100644 --- a/ruby/rails6-shakapacker/app/Gemfile.lock +++ b/ruby/rails6-shakapacker/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.4.4) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -68,6 +69,7 @@ GEM zeitwerk (~> 2.3) addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.16.0) msgpack (~> 1.2) @@ -89,6 +91,14 @@ GEM ffi (1.15.5) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-arm64-darwin) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.1) concurrent-ruby (~> 1.0) jbuilder (2.11.5) @@ -97,6 +107,7 @@ GEM listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) loofah (2.21.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -125,6 +136,56 @@ GEM racc (~> 1.4) nokogiri (1.15.2-arm64-darwin) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pg (1.5.3) public_suffix (5.0.1) puma (5.6.6) @@ -232,6 +293,12 @@ DEPENDENCIES capybara (>= 3.26) jbuilder (~> 2.7) listen (~> 3.3) + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg puma (~> 5.0) rack-mini-profiler (~> 2.0) diff --git a/ruby/rails6-shakapacker/docker-compose.collector.yml b/ruby/rails6-shakapacker/docker-compose.collector.yml new file mode 100644 index 00000000..f13c9a20 --- /dev/null +++ b/ruby/rails6-shakapacker/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails6-shakapacker-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails6-shakapacker/docker-compose.shared.yml b/ruby/rails6-shakapacker/docker-compose.shared.yml new file mode 100644 index 00000000..720eed79 --- /dev/null +++ b/ruby/rails6-shakapacker/docker-compose.shared.yml @@ -0,0 +1,37 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails6-shakapacker + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - appsignal_key.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails6-shakapacker + - APP_URL=http://app:4001 diff --git a/ruby/rails6-shakapacker/docker-compose.yml b/ruby/rails6-shakapacker/docker-compose.yml index 08d86b83..6ad89403 100644 --- a/ruby/rails6-shakapacker/docker-compose.yml +++ b/ruby/rails6-shakapacker/docker-compose.yml @@ -1,38 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails6-shakapacker - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails6-shakapacker - - PORT=4001 - env_file: - - postgres.env - - appsignal_key.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails6-shakapacker - - APP_URL=http://app:4001 diff --git a/ruby/rails6-shoryuken/app/Gemfile b/ruby/rails6-shoryuken/app/Gemfile index 23b0ada5..facf8314 100644 --- a/ruby/rails6-shoryuken/app/Gemfile +++ b/ruby/rails6-shoryuken/app/Gemfile @@ -4,6 +4,17 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '3.2.2' gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "shoryuken", "~> 5.3.2" gem "aws-sdk-sqs" gem "net-smtp", require: false diff --git a/ruby/rails6-shoryuken/app/Gemfile.lock b/ruby/rails6-shoryuken/app/Gemfile.lock index e30b97b1..cd45e09c 100644 --- a/ruby/rails6-shoryuken/app/Gemfile.lock +++ b/ruby/rails6-shoryuken/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.4.13) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -80,6 +81,7 @@ GEM aws-sigv4 (~> 1.1) aws-sigv4 (1.6.1) aws-eventstream (~> 1, >= 1.0.2) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.17.0) msgpack (~> 1.2) @@ -101,6 +103,11 @@ GEM ffi (1.16.3) globalid (1.2.1) activesupport (>= 6.1) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.1) concurrent-ruby (~> 1.0) jbuilder (2.11.5) @@ -110,6 +117,7 @@ GEM listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -136,6 +144,56 @@ GEM nio4r (2.6.1) nokogiri (1.15.5-x86_64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) public_suffix (5.0.4) puma (5.6.7) nio4r (~> 2.0) @@ -241,6 +299,12 @@ DEPENDENCIES jbuilder (~> 2.7) listen (~> 3.3) net-smtp + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) puma (~> 5.0) rack-mini-profiler (~> 2.0) rails (~> 6.1.4, >= 6.1.4.6) diff --git a/ruby/rails6-shoryuken/docker-compose.collector.yml b/ruby/rails6-shoryuken/docker-compose.collector.yml new file mode 100644 index 00000000..baa91282 --- /dev/null +++ b/ruby/rails6-shoryuken/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=rails6-shoryuken-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails6-shoryuken/docker-compose.shared.yml b/ruby/rails6-shoryuken/docker-compose.shared.yml new file mode 100644 index 00000000..d2df5cfc --- /dev/null +++ b/ruby/rails6-shoryuken/docker-compose.shared.yml @@ -0,0 +1,35 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + motoserver: + image: motoserver/moto + app: + build: . + platform: "linux/amd64" + image: ruby/rails6-shoryuken + depends_on: + - motoserver + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - shoryuken.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails6-shoryuken + - APP_URL=http://app:4001 diff --git a/ruby/rails6-shoryuken/docker-compose.yml b/ruby/rails6-shoryuken/docker-compose.yml index bfd70c81..b6ca95b1 100644 --- a/ruby/rails6-shoryuken/docker-compose.yml +++ b/ruby/rails6-shoryuken/docker-compose.yml @@ -1,36 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - motoserver: - image: motoserver/moto app: - build: . - platform: "linux/amd64" - image: ruby/rails6-shoryuken - depends_on: - - motoserver - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=rails6-shoryuken - - PORT=4001 - env_file: - - shoryuken.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails6-shoryuken - - APP_URL=http://app:4001 diff --git a/ruby/rails7-delayed-job/app/Gemfile b/ruby/rails7-delayed-job/app/Gemfile index 62813971..0a5718c6 100644 --- a/ruby/rails7-delayed-job/app/Gemfile +++ b/ruby/rails7-delayed-job/app/Gemfile @@ -64,3 +64,13 @@ end gem "delayed_job_active_record", "~> 4.1" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" diff --git a/ruby/rails7-delayed-job/app/Gemfile.lock b/ruby/rails7-delayed-job/app/Gemfile.lock index 017bdbe3..fcb7f046 100644 --- a/ruby/rails7-delayed-job/app/Gemfile.lock +++ b/ruby/rails7-delayed-job/app/Gemfile.lock @@ -1,3 +1,10 @@ +PATH + remote: /integration + specs: + appsignal (4.8.0) + logger + rack (>= 2.0.0) + GEM remote: https://rubygems.org/ specs: @@ -68,8 +75,7 @@ GEM tzinfo (~> 2.0) addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) - appsignal (3.4.1) - rack + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.16.0) msgpack (~> 1.2) @@ -97,6 +103,11 @@ GEM erubi (1.12.0) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.22.0) + google-protobuf (~> 4.26) i18n (1.12.0) concurrent-ruby (~> 1.0) importmap-rails (1.1.5) @@ -108,6 +119,7 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + logger (1.7.0) lograge (0.12.0) actionpack (>= 4) activesupport (>= 4) @@ -139,6 +151,56 @@ GEM nio4r (2.5.9) nokogiri (1.14.3-aarch64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pg (1.4.6) public_suffix (5.0.1) puma (5.6.5) @@ -217,7 +279,7 @@ PLATFORMS aarch64-linux DEPENDENCIES - appsignal (~> 3.2) + appsignal! bootsnap capybara debug @@ -225,6 +287,12 @@ DEPENDENCIES importmap-rails jbuilder lograge + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg (~> 1.1) puma (~> 5.0) rails (~> 7.0.4) diff --git a/ruby/rails7-delayed-job/docker-compose.collector.yml b/ruby/rails7-delayed-job/docker-compose.collector.yml new file mode 100644 index 00000000..9d25d7ab --- /dev/null +++ b/ruby/rails7-delayed-job/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-delayed-job-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-delayed-job/docker-compose.shared.yml b/ruby/rails7-delayed-job/docker-compose.shared.yml new file mode 100644 index 00000000..af9c763b --- /dev/null +++ b/ruby/rails7-delayed-job/docker-compose.shared.yml @@ -0,0 +1,35 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails7-delayed-job + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-delayed-job + - APP_URL=http://app:4001 diff --git a/ruby/rails7-delayed-job/docker-compose.yml b/ruby/rails7-delayed-job/docker-compose.yml index e55485d3..00e76013 100644 --- a/ruby/rails7-delayed-job/docker-compose.yml +++ b/ruby/rails7-delayed-job/docker-compose.yml @@ -1,36 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails7-delayed-job - depends_on: - - postgres - ports: - - "4001:4001" environment: - - PORT=4001 - APPSIGNAL_APP_NAME=ruby-rails7-delayed-job - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-delayed-job - - APP_URL=http://app:4001 diff --git a/ruby/rails7-goodjob/app/Gemfile b/ruby/rails7-goodjob/app/Gemfile index 4f058d1c..c2e3c534 100644 --- a/ruby/rails7-goodjob/app/Gemfile +++ b/ruby/rails7-goodjob/app/Gemfile @@ -67,4 +67,15 @@ group :test do end gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "good_job", "~> 3.20" diff --git a/ruby/rails7-goodjob/app/Gemfile.lock b/ruby/rails7-goodjob/app/Gemfile.lock index c5717746..7b9e4789 100644 --- a/ruby/rails7-goodjob/app/Gemfile.lock +++ b/ruby/rails7-goodjob/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.5.5) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -121,6 +122,11 @@ GEM fugit (>= 1.1) railties (>= 6.0.0) thor (>= 0.14.1) + google-protobuf (4.33.6) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.22.0) + google-protobuf (~> 4.26) i18n (1.14.1) concurrent-ruby (~> 1.0) importmap-rails (1.2.3) @@ -134,6 +140,7 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + logger (1.7.0) loofah (2.22.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -162,6 +169,56 @@ GEM racc (~> 1.4) nokogiri (1.16.2-x86_64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pg (1.5.4) psych (5.1.2) stringio @@ -264,6 +321,12 @@ DEPENDENCIES good_job (~> 3.20) importmap-rails jbuilder + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg (~> 1.1) puma (>= 5.0) rails (~> 7.1.1) diff --git a/ruby/rails7-goodjob/docker-compose.collector.yml b/ruby/rails7-goodjob/docker-compose.collector.yml new file mode 100644 index 00000000..501050d6 --- /dev/null +++ b/ruby/rails7-goodjob/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-goodjob-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-goodjob/docker-compose.shared.yml b/ruby/rails7-goodjob/docker-compose.shared.yml new file mode 100644 index 00000000..6138d2ea --- /dev/null +++ b/ruby/rails7-goodjob/docker-compose.shared.yml @@ -0,0 +1,36 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails7-goodjob + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-goodjob + - APP_URL=http://app:4001 diff --git a/ruby/rails7-goodjob/docker-compose.yml b/ruby/rails7-goodjob/docker-compose.yml index b92e0cbc..1cbf79f1 100644 --- a/ruby/rails7-goodjob/docker-compose.yml +++ b/ruby/rails7-goodjob/docker-compose.yml @@ -1,37 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails7-goodjob - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails7-goodjob - - PORT=4001 - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-goodjob - - APP_URL=http://app:4001 diff --git a/ruby/rails7-sequel/app/Gemfile b/ruby/rails7-sequel/app/Gemfile index 587c1499..cdbc6bdc 100644 --- a/ruby/rails7-sequel/app/Gemfile +++ b/ruby/rails7-sequel/app/Gemfile @@ -71,3 +71,13 @@ gem "pg", "~> 1.5" gem "view_component" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" diff --git a/ruby/rails7-sequel/app/Gemfile.lock b/ruby/rails7-sequel/app/Gemfile.lock index 9d1793da..fed02eb4 100644 --- a/ruby/rails7-sequel/app/Gemfile.lock +++ b/ruby/rails7-sequel/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.6.4) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -97,6 +98,11 @@ GEM erubi (1.12.0) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.22.0) + google-protobuf (~> 4.26) i18n (1.14.1) concurrent-ruby (~> 1.0) importmap-rails (1.2.1) @@ -109,6 +115,7 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + logger (1.7.0) loofah (2.21.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -137,6 +144,56 @@ GEM racc (~> 1.4) nokogiri (1.15.4-x86_64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pg (1.5.4) psych (5.1.0) stringio @@ -244,6 +301,12 @@ DEPENDENCIES debug importmap-rails jbuilder + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg (~> 1.5) puma (~> 5.0) rails (~> 7.0.7, >= 7.0.7.2) diff --git a/ruby/rails7-sequel/docker-compose.collector.yml b/ruby/rails7-sequel/docker-compose.collector.yml new file mode 100644 index 00000000..bcf685cd --- /dev/null +++ b/ruby/rails7-sequel/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-sequel-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-sequel/docker-compose.shared.yml b/ruby/rails7-sequel/docker-compose.shared.yml new file mode 100644 index 00000000..107c4868 --- /dev/null +++ b/ruby/rails7-sequel/docker-compose.shared.yml @@ -0,0 +1,36 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails7-sidekiq + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-sequel + - APP_URL=http://app:4001 diff --git a/ruby/rails7-sequel/docker-compose.yml b/ruby/rails7-sequel/docker-compose.yml index 29c54d9b..2608a74f 100644 --- a/ruby/rails7-sequel/docker-compose.yml +++ b/ruby/rails7-sequel/docker-compose.yml @@ -1,37 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails7-sidekiq - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails7-sequel - - PORT=4001 - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-sequel - - APP_URL=http://app:4001 diff --git a/ruby/rails7-solid-cache/app/Gemfile b/ruby/rails7-solid-cache/app/Gemfile index 23641208..443a4e77 100644 --- a/ruby/rails7-solid-cache/app/Gemfile +++ b/ruby/rails7-solid-cache/app/Gemfile @@ -19,6 +19,16 @@ gem 'listen' gem 'appsignal', :path => '/integration' +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + group :development, :test do gem "rspec-rails" gem "pry" diff --git a/ruby/rails7-solid-cache/app/Gemfile.lock b/ruby/rails7-solid-cache/app/Gemfile.lock index d3261ccd..a82063b2 100644 --- a/ruby/rails7-solid-cache/app/Gemfile.lock +++ b/ruby/rails7-solid-cache/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.5.3) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -72,6 +73,7 @@ GEM i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) + bigdecimal (4.1.2) builder (3.2.4) coderay (1.1.3) concurrent-ruby (1.2.2) @@ -82,6 +84,17 @@ GEM ffi (1.15.5) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-arm64-darwin) + bigdecimal + rake (>= 13) + google-protobuf (4.33.6-x86_64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.12.0) concurrent-ruby (~> 1.0) jbuilder (2.11.5) @@ -90,6 +103,7 @@ GEM listen (3.8.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -119,6 +133,56 @@ GEM racc (~> 1.4) nokogiri (1.14.3-x86_64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) @@ -219,6 +283,12 @@ DEPENDENCIES jbuilder (~> 2.7) listen mysql2 (~> 0.5) + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pry puma (~> 4.1) rails (>= 7) diff --git a/ruby/rails7-solid-cache/docker-compose.collector.yml b/ruby/rails7-solid-cache/docker-compose.collector.yml new file mode 100644 index 00000000..8adbed8c --- /dev/null +++ b/ruby/rails7-solid-cache/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-solid-cache-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-solid-cache/docker-compose.shared.yml b/ruby/rails7-solid-cache/docker-compose.shared.yml new file mode 100644 index 00000000..eb4e57b4 --- /dev/null +++ b/ruby/rails7-solid-cache/docker-compose.shared.yml @@ -0,0 +1,38 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + mysql: + image: mysql + cap_add: + - SYS_NICE # To silent non-important errors + env_file: + - mysql.env + app: + build: . + image: ruby/rails7-solid-cache + depends_on: + - mysql + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - mysql.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-solid-cache + - APP_URL=http://app:4001 diff --git a/ruby/rails7-solid-cache/docker-compose.yml b/ruby/rails7-solid-cache/docker-compose.yml index 6f474bc3..ab6adfe4 100644 --- a/ruby/rails7-solid-cache/docker-compose.yml +++ b/ruby/rails7-solid-cache/docker-compose.yml @@ -1,39 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - mysql: - image: mysql - cap_add: - - SYS_NICE # To silent non-important errors - env_file: - - mysql.env app: - build: . - image: ruby/rails7-solid-cache - depends_on: - - mysql - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-rails7-solid-cache - - PORT=4001 - env_file: - - mysql.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-solid-cache - - APP_URL=http://app:4001 diff --git a/ruby/rails7-solid-queue/app/Gemfile b/ruby/rails7-solid-queue/app/Gemfile index 2778e8bf..9822b8c2 100644 --- a/ruby/rails7-solid-queue/app/Gemfile +++ b/ruby/rails7-solid-queue/app/Gemfile @@ -63,4 +63,14 @@ end gem 'appsignal', :path => '/integration' +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "solid_queue" diff --git a/ruby/rails7-solid-queue/app/Gemfile.lock b/ruby/rails7-solid-queue/app/Gemfile.lock index 00d5fc5c..3e9ff82f 100644 --- a/ruby/rails7-solid-queue/app/Gemfile.lock +++ b/ruby/rails7-solid-queue/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.6.4) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -74,6 +75,7 @@ GEM tzinfo (~> 2.0) addressable (2.8.4) public_suffix (>= 2.0.2, < 6.0) + bigdecimal (4.1.2) bindex (0.8.1) bootsnap (1.16.0) msgpack (~> 1.2) @@ -96,6 +98,11 @@ GEM erubi (1.12.0) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.33.6-aarch64-linux-gnu) + bigdecimal + rake (>= 13) + googleapis-common-protos-types (1.22.0) + google-protobuf (~> 4.26) i18n (1.12.0) concurrent-ruby (~> 1.0) importmap-rails (1.1.5) @@ -107,6 +114,7 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + logger (1.7.0) lograge (0.12.0) actionpack (>= 4) activesupport (>= 4) @@ -138,6 +146,56 @@ GEM nio4r (2.5.9) nokogiri (1.14.3-aarch64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pg (1.4.6) public_suffix (5.0.1) puma (5.6.5) @@ -225,6 +283,12 @@ DEPENDENCIES importmap-rails jbuilder lograge + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pg (~> 1.1) puma (~> 5.0) rails (~> 7.0.4) diff --git a/ruby/rails7-solid-queue/docker-compose.collector.yml b/ruby/rails7-solid-queue/docker-compose.collector.yml new file mode 100644 index 00000000..ef77bbc1 --- /dev/null +++ b/ruby/rails7-solid-queue/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-rails7-solid-queue-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails7-solid-queue/docker-compose.shared.yml b/ruby/rails7-solid-queue/docker-compose.shared.yml new file mode 100644 index 00000000..e8a2e6cb --- /dev/null +++ b/ruby/rails7-solid-queue/docker-compose.shared.yml @@ -0,0 +1,35 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails7-solid-queue + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails7-solid-queue + - APP_URL=http://app:4001 diff --git a/ruby/rails7-solid-queue/docker-compose.yml b/ruby/rails7-solid-queue/docker-compose.yml index d9210d3e..56369bcb 100644 --- a/ruby/rails7-solid-queue/docker-compose.yml +++ b/ruby/rails7-solid-queue/docker-compose.yml @@ -1,36 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails7-solid-queue - depends_on: - - postgres - ports: - - "4001:4001" environment: - - PORT=4001 - APPSIGNAL_APP_NAME=ruby-rails7-solid-queue - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails7-solid-queue - - APP_URL=http://app:4001 diff --git a/ruby/rails8-delayed-job/app/Gemfile b/ruby/rails8-delayed-job/app/Gemfile index 94a36fb9..aa07a2f5 100644 --- a/ruby/rails8-delayed-job/app/Gemfile +++ b/ruby/rails8-delayed-job/app/Gemfile @@ -67,6 +67,16 @@ gem "daemons" gem "appsignal", path: "/integration" gem "ownership" +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + # Enable these lines when testing semantic logger # gem "rails_semantic_logger", "4.17.0" # gem "semantic_logger", "4.16.1" diff --git a/ruby/rails8-delayed-job/app/Gemfile.lock b/ruby/rails8-delayed-job/app/Gemfile.lock index c26e94c0..be3acc98 100644 --- a/ruby/rails8-delayed-job/app/Gemfile.lock +++ b/ruby/rails8-delayed-job/app/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: /integration specs: - appsignal (4.8.1) + appsignal (4.8.0) logger rack (>= 2.0.0) @@ -133,6 +133,35 @@ GEM raabro (~> 1.4) globalid (1.3.0) activesupport (>= 6.1) + google-protobuf (4.35.1) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-aarch64-linux-musl) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-arm64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86-linux-musl) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-linux-musl) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.7) concurrent-ruby (~> 1.0) importmap-rails (2.0.3) @@ -210,6 +239,57 @@ GEM racc (~> 1.4) nokogiri (1.18.10-x86_64-linux-musl) racc (~> 1.4) + opentelemetry-api (1.10.0) + logger + opentelemetry-common (0.25.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.34.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.5.1) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.9.1) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.6.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.6.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.14.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.6.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.12.0) + logger + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.41.0) + opentelemetry-api (~> 1.0) ostruct (0.6.1) ownership (0.4.0) parallel (1.26.3) @@ -408,6 +488,12 @@ DEPENDENCIES importmap-rails jbuilder kamal + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) ownership propshaft puma (>= 5.0) diff --git a/ruby/rails8-delayed-job/docker-compose.collector.yml b/ruby/rails8-delayed-job/docker-compose.collector.yml new file mode 100644 index 00000000..0406d032 --- /dev/null +++ b/ruby/rails8-delayed-job/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/rails8-delayed-job-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/rails8-delayed-job/docker-compose.shared.yml b/ruby/rails8-delayed-job/docker-compose.shared.yml new file mode 100644 index 00000000..0344c837 --- /dev/null +++ b/ruby/rails8-delayed-job/docker-compose.shared.yml @@ -0,0 +1,33 @@ +version: '3.8' + +services: + postgres: + image: postgres + env_file: + - postgres.env + app: + build: . + image: ruby/rails8-delayed-job + depends_on: + - postgres + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/rails8-delayed-job + - APP_URL=http://app:4001 diff --git a/ruby/rails8-delayed-job/docker-compose.yml b/ruby/rails8-delayed-job/docker-compose.yml index 15828714..06e45431 100644 --- a/ruby/rails8-delayed-job/docker-compose.yml +++ b/ruby/rails8-delayed-job/docker-compose.yml @@ -1,34 +1,7 @@ -version: '3.8' +include: + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env app: - build: . - image: ruby/rails8-delayed-job - depends_on: - - postgres - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/rails8-delayed-job - - PORT=4001 - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/rails8-delayed-job - - APP_URL=http://app:4001 diff --git a/ruby/sinatra-alpine/app/Gemfile b/ruby/sinatra-alpine/app/Gemfile index cd19322e..3b48a1f4 100644 --- a/ruby/sinatra-alpine/app/Gemfile +++ b/ruby/sinatra-alpine/app/Gemfile @@ -3,6 +3,17 @@ source "https://rubygems.org" gem "sinatra" gem "webrick" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "activesupport", "5.2.0" gem "actionmailer", "5.2.0" diff --git a/ruby/sinatra-alpine/app/Gemfile.lock b/ruby/sinatra-alpine/app/Gemfile.lock index 138bcfd8..0b2b66fc 100644 --- a/ruby/sinatra-alpine/app/Gemfile.lock +++ b/ruby/sinatra-alpine/app/Gemfile.lock @@ -1,8 +1,9 @@ PATH remote: /integration specs: - appsignal (3.5.0) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ @@ -34,6 +35,7 @@ GEM i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) + bigdecimal (4.1.2) builder (3.2.4) concurrent-ruby (1.2.2) crass (1.0.6) @@ -44,12 +46,18 @@ GEM erubi (1.12.0) globalid (1.1.0) activesupport (>= 5.0) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.1) concurrent-ruby (~> 1.0) io-console (0.7.0) irb (1.10.1) rdoc reline (>= 0.3.8) + logger (1.7.0) loofah (2.21.3) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -73,6 +81,56 @@ GEM net-protocol nokogiri (1.15.2-aarch64-linux) racc (~> 1.4) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) psych (5.1.1.1) stringio racc (1.7.1) @@ -87,6 +145,7 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) + rake (13.4.2) rdoc (6.6.1) psych (>= 4.0.0) reline (0.4.1) @@ -113,6 +172,12 @@ DEPENDENCIES activesupport (= 5.2.0) appsignal! debug + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) sinatra webrick diff --git a/ruby/sinatra-alpine/docker-compose.collector.yml b/ruby/sinatra-alpine/docker-compose.collector.yml new file mode 100644 index 00000000..953022b2 --- /dev/null +++ b/ruby/sinatra-alpine/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-sinatra-alpine-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/sinatra-alpine/docker-compose.shared.yml b/ruby/sinatra-alpine/docker-compose.shared.yml new file mode 100644 index 00000000..d43a0f53 --- /dev/null +++ b/ruby/sinatra-alpine/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/sinatra + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/sinatra-alpine + - APP_URL=http://app:4001 diff --git a/ruby/sinatra-alpine/docker-compose.yml b/ruby/sinatra-alpine/docker-compose.yml index aef3a97d..55adf789 100644 --- a/ruby/sinatra-alpine/docker-compose.yml +++ b/ruby/sinatra-alpine/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/sinatra - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-sinatra-alpine - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/sinatra-alpine - - APP_URL=http://app:4001 diff --git a/ruby/sinatra-gvltools/app/Gemfile b/ruby/sinatra-gvltools/app/Gemfile index 4af487fb..0a29ec94 100644 --- a/ruby/sinatra-gvltools/app/Gemfile +++ b/ruby/sinatra-gvltools/app/Gemfile @@ -3,6 +3,17 @@ source "https://rubygems.org" gem "sinatra" gem "webrick" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "activesupport", "5.2.0" gem "actionmailer", "5.2.0" gem "gvltools", "0.2.0" diff --git a/ruby/sinatra-gvltools/docker-compose.collector.yml b/ruby/sinatra-gvltools/docker-compose.collector.yml new file mode 100644 index 00000000..684e0f17 --- /dev/null +++ b/ruby/sinatra-gvltools/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby-sinatra-gvltools-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/sinatra-gvltools/docker-compose.shared.yml b/ruby/sinatra-gvltools/docker-compose.shared.yml new file mode 100644 index 00000000..d9f5e978 --- /dev/null +++ b/ruby/sinatra-gvltools/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/sinatra + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/sinatra-gvltools + - APP_URL=http://app:4001 diff --git a/ruby/sinatra-gvltools/docker-compose.yml b/ruby/sinatra-gvltools/docker-compose.yml index 0207fa5e..aaa1fd59 100644 --- a/ruby/sinatra-gvltools/docker-compose.yml +++ b/ruby/sinatra-gvltools/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/sinatra - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby-sinatra-gvltools - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/sinatra-gvltools - - APP_URL=http://app:4001 diff --git a/ruby/webmachine1/app/Gemfile b/ruby/webmachine1/app/Gemfile index 470d7ba1..6cfcb624 100644 --- a/ruby/webmachine1/app/Gemfile +++ b/ruby/webmachine1/app/Gemfile @@ -4,5 +4,16 @@ gem "webmachine", "~> 1.6" gem "i18n", "~> 0.0" # Lock to pre 1.x version as it's not compatible gem "webrick" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "pry" gem "rackup" diff --git a/ruby/webmachine1/app/Gemfile.lock b/ruby/webmachine1/app/Gemfile.lock index 6e1ffd11..1499a6a3 100644 --- a/ruby/webmachine1/app/Gemfile.lock +++ b/ruby/webmachine1/app/Gemfile.lock @@ -1,19 +1,80 @@ PATH remote: /integration specs: - appsignal (3.9.3) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ specs: as-notifications (1.0.2) + bigdecimal (4.1.2) coderay (1.1.3) concurrent-ruby (1.1.8) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (0.9.5) concurrent-ruby (~> 1.0) + logger (1.7.0) method_source (1.0.0) multi_json (1.15.0) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pry (0.14.0) coderay (~> 1.1) method_source (~> 1.0) @@ -21,6 +82,7 @@ GEM rackup (2.0.0) rack (>= 3) webrick + rake (13.4.2) webmachine (1.6.0) as-notifications (~> 1.0) i18n (>= 0.4.0) @@ -34,6 +96,12 @@ PLATFORMS DEPENDENCIES appsignal! i18n (~> 0.0) + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pry rackup webmachine (~> 1.6) diff --git a/ruby/webmachine1/docker-compose.collector.yml b/ruby/webmachine1/docker-compose.collector.yml new file mode 100644 index 00000000..c4c72605 --- /dev/null +++ b/ruby/webmachine1/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/webmachine1-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/webmachine1/docker-compose.shared.yml b/ruby/webmachine1/docker-compose.shared.yml new file mode 100644 index 00000000..abb94ccb --- /dev/null +++ b/ruby/webmachine1/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/webmachine1 + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/webmachine1 + - APP_URL=http://app:4001 diff --git a/ruby/webmachine1/docker-compose.yml b/ruby/webmachine1/docker-compose.yml index 5ec129ff..bdbde17a 100644 --- a/ruby/webmachine1/docker-compose.yml +++ b/ruby/webmachine1/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/webmachine1 - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/webmachine1 - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/webmachine1 - - APP_URL=http://app:4001 diff --git a/ruby/webmachine2/app/Gemfile b/ruby/webmachine2/app/Gemfile index 94e4e372..d9638bf0 100644 --- a/ruby/webmachine2/app/Gemfile +++ b/ruby/webmachine2/app/Gemfile @@ -3,5 +3,16 @@ source "https://rubygems.org" gem "webmachine", "~> 2.0" gem "webrick" gem "appsignal", :path => "/integration" + +# OpenTelemetry gems for AppSignal collector mode. Loaded only when +# APPSIGNAL_COLLECTOR_ENDPOINT is set; keep versions in sync with appsignal's +# lib/appsignal/opentelemetry/dependencies.rb. +gem "opentelemetry-sdk", ">= 1.8.0" +gem "opentelemetry-metrics-sdk", ">= 0.7.1" +gem "opentelemetry-logs-sdk", ">= 0.2.0" +gem "opentelemetry-exporter-otlp", ">= 0.30.0" +gem "opentelemetry-exporter-otlp-metrics", ">= 0.4.0" +gem "opentelemetry-exporter-otlp-logs", ">= 0.2.0" + gem "pry" gem "rackup" diff --git a/ruby/webmachine2/app/Gemfile.lock b/ruby/webmachine2/app/Gemfile.lock index 5ea4c26a..e0414c5c 100644 --- a/ruby/webmachine2/app/Gemfile.lock +++ b/ruby/webmachine2/app/Gemfile.lock @@ -1,20 +1,81 @@ PATH remote: /integration specs: - appsignal (3.9.3) - rack + appsignal (4.8.0) + logger + rack (>= 2.0.0) GEM remote: https://rubygems.org/ specs: as-notifications (1.0.2) base64 (0.2.0) + bigdecimal (4.1.2) coderay (1.1.3) concurrent-ruby (1.3.3) + google-protobuf (4.35.1-aarch64-linux-gnu) + bigdecimal + rake (~> 13.3) + google-protobuf (4.35.1-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + googleapis-common-protos-types (1.23.0) + google-protobuf (~> 4.26) i18n (1.14.5) concurrent-ruby (~> 1.0) + logger (1.7.0) method_source (1.0.0) multi_json (1.15.0) + opentelemetry-api (1.8.0) + logger + opentelemetry-common (0.23.0) + opentelemetry-api (~> 1.0) + opentelemetry-exporter-otlp (0.32.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.10) + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-logs (0.3.0) + google-protobuf (>= 3.18) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-logs-api (~> 0.1) + opentelemetry-logs-sdk (~> 0.1) + opentelemetry-sdk + opentelemetry-semantic_conventions + opentelemetry-exporter-otlp-metrics (0.7.0) + google-protobuf (>= 3.18, < 5.0) + googleapis-common-protos-types (~> 1.3) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-metrics-sdk (~> 0.5) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions + opentelemetry-logs-api (0.2.0) + opentelemetry-api (~> 1.0) + opentelemetry-logs-sdk (0.4.0) + opentelemetry-api (~> 1.2) + opentelemetry-logs-api (~> 0.1) + opentelemetry-sdk (~> 1.3) + opentelemetry-metrics-api (0.4.0) + opentelemetry-api (~> 1.0) + opentelemetry-metrics-sdk (0.12.0) + opentelemetry-api (~> 1.1) + opentelemetry-metrics-api (~> 0.2) + opentelemetry-sdk (~> 1.2) + opentelemetry-registry (0.4.0) + opentelemetry-api (~> 1.1) + opentelemetry-sdk (1.10.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-registry (~> 0.2) + opentelemetry-semantic_conventions + opentelemetry-semantic_conventions (1.36.0) + opentelemetry-api (~> 1.0) pry (0.14.0) coderay (~> 1.1) method_source (~> 1.0) @@ -22,6 +83,7 @@ GEM rackup (2.0.0) rack (>= 3) webrick + rake (13.4.2) webmachine (2.0.1) as-notifications (>= 1.0.2, < 2.0) base64 @@ -35,6 +97,12 @@ PLATFORMS DEPENDENCIES appsignal! + opentelemetry-exporter-otlp (>= 0.30.0) + opentelemetry-exporter-otlp-logs (>= 0.2.0) + opentelemetry-exporter-otlp-metrics (>= 0.4.0) + opentelemetry-logs-sdk (>= 0.2.0) + opentelemetry-metrics-sdk (>= 0.7.1) + opentelemetry-sdk (>= 1.8.0) pry rackup webmachine (~> 2.0) diff --git a/ruby/webmachine2/docker-compose.collector.yml b/ruby/webmachine2/docker-compose.collector.yml new file mode 100644 index 00000000..726558df --- /dev/null +++ b/ruby/webmachine2/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=ruby/webmachine2-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/ruby/webmachine2/docker-compose.shared.yml b/ruby/webmachine2/docker-compose.shared.yml new file mode 100644 index 00000000..0ffabde9 --- /dev/null +++ b/ruby/webmachine2/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: ruby/webmachine + ports: + - "4001:4001" + environment: + - PORT=4001 + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=ruby/webmachine2 + - APP_URL=http://app:4001 diff --git a/ruby/webmachine2/docker-compose.yml b/ruby/webmachine2/docker-compose.yml index 6a25a693..8b7d8c5c 100644 --- a/ruby/webmachine2/docker-compose.yml +++ b/ruby/webmachine2/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: ruby/webmachine - ports: - - "4001:4001" environment: - APPSIGNAL_APP_NAME=ruby/webmachine2 - - PORT=4001 - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=ruby/webmachine2 - - APP_URL=http://app:4001 From 230e0d2c166dcc9c6c1f98571254ebf6cbce9076 Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 16:58:31 +0200 Subject: [PATCH 6/9] Add collector mode to Python agent setups Apply the same agent/collector toggle to the remaining Python agent setups. Python needs no dependency changes; collector mode is enabled purely by the collector compose file and the mode-aware app name. --- README.md | 9 ++++ .../django4-asgi/docker-compose.collector.yml | 9 ++++ python/django4-asgi/docker-compose.shared.yml | 43 +++++++++++++++++++ python/django4-asgi/docker-compose.yml | 39 +---------------- .../docker-compose.collector.yml | 9 ++++ .../django4-celery/docker-compose.shared.yml | 43 +++++++++++++++++++ python/django4-celery/docker-compose.yml | 39 +---------------- .../django4-wsgi/docker-compose.collector.yml | 9 ++++ python/django4-wsgi/docker-compose.shared.yml | 43 +++++++++++++++++++ python/django4-wsgi/docker-compose.yml | 39 +---------------- .../docker-compose.collector.yml | 9 ++++ .../docker-compose.shared.yml | 42 ++++++++++++++++++ python/fastapi-databases/docker-compose.yml | 38 +--------------- python/fastapi/docker-compose.collector.yml | 9 ++++ python/fastapi/docker-compose.shared.yml | 29 +++++++++++++ python/fastapi/docker-compose.yml | 25 +---------- .../flask-pika/docker-compose.collector.yml | 9 ++++ python/flask-pika/docker-compose.shared.yml | 34 +++++++++++++++ python/flask-pika/docker-compose.yml | 30 +------------ .../docker-compose.collector.yml | 9 ++++ .../docker-compose.shared.yml | 29 +++++++++++++ python/flask-sqlalchemy/docker-compose.yml | 25 +---------- python/flask/docker-compose.collector.yml | 9 ++++ python/flask/docker-compose.shared.yml | 29 +++++++++++++ python/flask/docker-compose.yml | 25 +---------- python/starlette/docker-compose.collector.yml | 9 ++++ python/starlette/docker-compose.shared.yml | 29 +++++++++++++ python/starlette/docker-compose.yml | 25 +---------- 28 files changed, 420 insertions(+), 276 deletions(-) create mode 100644 python/django4-asgi/docker-compose.collector.yml create mode 100644 python/django4-asgi/docker-compose.shared.yml create mode 100644 python/django4-celery/docker-compose.collector.yml create mode 100644 python/django4-celery/docker-compose.shared.yml create mode 100644 python/django4-wsgi/docker-compose.collector.yml create mode 100644 python/django4-wsgi/docker-compose.shared.yml create mode 100644 python/fastapi-databases/docker-compose.collector.yml create mode 100644 python/fastapi-databases/docker-compose.shared.yml create mode 100644 python/fastapi/docker-compose.collector.yml create mode 100644 python/fastapi/docker-compose.shared.yml create mode 100644 python/flask-pika/docker-compose.collector.yml create mode 100644 python/flask-pika/docker-compose.shared.yml create mode 100644 python/flask-sqlalchemy/docker-compose.collector.yml create mode 100644 python/flask-sqlalchemy/docker-compose.shared.yml create mode 100644 python/flask/docker-compose.collector.yml create mode 100644 python/flask/docker-compose.shared.yml create mode 100644 python/starlette/docker-compose.collector.yml create mode 100644 python/starlette/docker-compose.shared.yml diff --git a/README.md b/README.md index bbe1b8d6..4a09124e 100644 --- a/README.md +++ b/README.md @@ -216,7 +216,16 @@ local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any command (it defaults to `mode=agent`). The setups that support collector mode: ``` +rake app=python/django4-asgi mode=collector app:up +rake app=python/django4-celery mode=collector app:up +rake app=python/django4-wsgi mode=collector app:up rake app=python/django5-celery mode=collector app:up +rake app=python/fastapi mode=collector app:up +rake app=python/fastapi-databases mode=collector app:up +rake app=python/flask mode=collector app:up +rake app=python/flask-pika mode=collector app:up +rake app=python/flask-sqlalchemy mode=collector app:up +rake app=python/starlette mode=collector app:up rake app=ruby/grape mode=collector app:up rake app=ruby/hanami2-postgres mode=collector app:up rake app=ruby/rack mode=collector app:up diff --git a/python/django4-asgi/docker-compose.collector.yml b/python/django4-asgi/docker-compose.collector.yml new file mode 100644 index 00000000..db91024e --- /dev/null +++ b/python/django4-asgi/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/django4-asgi-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/django4-asgi/docker-compose.shared.yml b/python/django4-asgi/docker-compose.shared.yml new file mode 100644 index 00000000..ce3bbb9a --- /dev/null +++ b/python/django4-asgi/docker-compose.shared.yml @@ -0,0 +1,43 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + # ports: + # - "5432:5432" + env_file: + - postgres.env + redis: + image: "redis:6.2.7" + # ports: + # - "6379:6379" + app: + build: . + image: python/django4-asgi + depends_on: + - postgres + - redis + ports: + - "4001:4001" + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/django4-asgi + - APP_URL=http://app:4001 diff --git a/python/django4-asgi/docker-compose.yml b/python/django4-asgi/docker-compose.yml index 4513ede9..83d8ee52 100644 --- a/python/django4-asgi/docker-compose.yml +++ b/python/django4-asgi/docker-compose.yml @@ -1,44 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - # ports: - # - "5432:5432" - env_file: - - postgres.env - redis: - image: "redis:6.2.7" - # ports: - # - "6379:6379" app: - build: . - image: python/django4-asgi - depends_on: - - postgres - - redis - ports: - - "4001:4001" - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/django4-asgi - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/django4-asgi - - APP_URL=http://app:4001 diff --git a/python/django4-celery/docker-compose.collector.yml b/python/django4-celery/docker-compose.collector.yml new file mode 100644 index 00000000..e30d90ef --- /dev/null +++ b/python/django4-celery/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/django4-celery-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/django4-celery/docker-compose.shared.yml b/python/django4-celery/docker-compose.shared.yml new file mode 100644 index 00000000..271d75c3 --- /dev/null +++ b/python/django4-celery/docker-compose.shared.yml @@ -0,0 +1,43 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + # ports: + # - "5432:5432" + env_file: + - postgres.env + redis: + image: "redis:6.2.7" + # ports: + # - "6379:6379" + app: + build: . + image: python/django4-celery + depends_on: + - postgres + - redis + ports: + - "4001:4001" + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/django4-celery + - APP_URL=http://app:4001 diff --git a/python/django4-celery/docker-compose.yml b/python/django4-celery/docker-compose.yml index 75c96ceb..9ec6f363 100644 --- a/python/django4-celery/docker-compose.yml +++ b/python/django4-celery/docker-compose.yml @@ -1,44 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - # ports: - # - "5432:5432" - env_file: - - postgres.env - redis: - image: "redis:6.2.7" - # ports: - # - "6379:6379" app: - build: . - image: python/django4-celery - depends_on: - - postgres - - redis - ports: - - "4001:4001" - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/django4-celery - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/django4-celery - - APP_URL=http://app:4001 diff --git a/python/django4-wsgi/docker-compose.collector.yml b/python/django4-wsgi/docker-compose.collector.yml new file mode 100644 index 00000000..d3c6d950 --- /dev/null +++ b/python/django4-wsgi/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/django4-wsgi-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/django4-wsgi/docker-compose.shared.yml b/python/django4-wsgi/docker-compose.shared.yml new file mode 100644 index 00000000..abae6b94 --- /dev/null +++ b/python/django4-wsgi/docker-compose.shared.yml @@ -0,0 +1,43 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + # ports: + # - "5432:5432" + env_file: + - postgres.env + redis: + image: "redis:6.2.7" + # ports: + # - "6379:6379" + app: + build: . + image: python/django4-wsgi + depends_on: + - postgres + - redis + ports: + - "4001:4001" + env_file: + - postgres.env + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/django4-wsgi + - APP_URL=http://app:4001 diff --git a/python/django4-wsgi/docker-compose.yml b/python/django4-wsgi/docker-compose.yml index b04c9a1e..483db63b 100644 --- a/python/django4-wsgi/docker-compose.yml +++ b/python/django4-wsgi/docker-compose.yml @@ -1,44 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - # ports: - # - "5432:5432" - env_file: - - postgres.env - redis: - image: "redis:6.2.7" - # ports: - # - "6379:6379" app: - build: . - image: python/django4-wsgi - depends_on: - - postgres - - redis - ports: - - "4001:4001" - env_file: - - postgres.env - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/django4-wsgi - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/django4-wsgi - - APP_URL=http://app:4001 diff --git a/python/fastapi-databases/docker-compose.collector.yml b/python/fastapi-databases/docker-compose.collector.yml new file mode 100644 index 00000000..a7d4d6f2 --- /dev/null +++ b/python/fastapi-databases/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/fastapi-databases-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/fastapi-databases/docker-compose.shared.yml b/python/fastapi-databases/docker-compose.shared.yml new file mode 100644 index 00000000..163ff792 --- /dev/null +++ b/python/fastapi-databases/docker-compose.shared.yml @@ -0,0 +1,42 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + postgres: + image: postgres + env_file: + - postgres.env + mysql: + image: mysql + command: --default-authentication-plugin=mysql_native_password + restart: always + env_file: + - mysql.env + app: + build: . + image: python/fastapi-databases + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + - postgres.env + - mysql.env + environment: + - PORT=4001 + - APPSIGNAL_LOG_LEVEL=trace + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/fastapi-databases + - APP_URL=http://app:4001 diff --git a/python/fastapi-databases/docker-compose.yml b/python/fastapi-databases/docker-compose.yml index 955eb6e4..561fd9c2 100644 --- a/python/fastapi-databases/docker-compose.yml +++ b/python/fastapi-databases/docker-compose.yml @@ -1,43 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - postgres: - image: postgres - env_file: - - postgres.env - mysql: - image: mysql - command: --default-authentication-plugin=mysql_native_password - restart: always - env_file: - - mysql.env app: - build: . - image: python/fastapi-databases - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env - - postgres.env - - mysql.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/fastapi-databases - - APPSIGNAL_LOG_LEVEL=trace - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/fastapi-databases - - APP_URL=http://app:4001 diff --git a/python/fastapi/docker-compose.collector.yml b/python/fastapi/docker-compose.collector.yml new file mode 100644 index 00000000..9fb6468a --- /dev/null +++ b/python/fastapi/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/fastapi-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/fastapi/docker-compose.shared.yml b/python/fastapi/docker-compose.shared.yml new file mode 100644 index 00000000..1e55cee0 --- /dev/null +++ b/python/fastapi/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: python/fastapi + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/fastapi + - APP_URL=http://app:4001 diff --git a/python/fastapi/docker-compose.yml b/python/fastapi/docker-compose.yml index acfd75fe..0c306d3f 100644 --- a/python/fastapi/docker-compose.yml +++ b/python/fastapi/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: python/fastapi - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/fastapi - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/fastapi - - APP_URL=http://app:4001 diff --git a/python/flask-pika/docker-compose.collector.yml b/python/flask-pika/docker-compose.collector.yml new file mode 100644 index 00000000..c24ef4fc --- /dev/null +++ b/python/flask-pika/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/flask-pika-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/flask-pika/docker-compose.shared.yml b/python/flask-pika/docker-compose.shared.yml new file mode 100644 index 00000000..1f93057e --- /dev/null +++ b/python/flask-pika/docker-compose.shared.yml @@ -0,0 +1,34 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + rabbitmq: + image: rabbitmq:3.8 + # ports: + # - "5672:5672" + # - "15672:15672" + app: + build: . + image: python/flask + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/flask-pika + - APP_URL=http://app:4001 diff --git a/python/flask-pika/docker-compose.yml b/python/flask-pika/docker-compose.yml index 76c034c8..f91fd9c6 100644 --- a/python/flask-pika/docker-compose.yml +++ b/python/flask-pika/docker-compose.yml @@ -1,35 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: - rabbitmq: - image: rabbitmq:3.8 - # ports: - # - "5672:5672" - # - "15672:15672" app: - build: . - image: python/flask - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/flask-pika - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/flask-pika - - APP_URL=http://app:4001 diff --git a/python/flask-sqlalchemy/docker-compose.collector.yml b/python/flask-sqlalchemy/docker-compose.collector.yml new file mode 100644 index 00000000..d0d5d1b6 --- /dev/null +++ b/python/flask-sqlalchemy/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/flask-sqlalchemy-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/flask-sqlalchemy/docker-compose.shared.yml b/python/flask-sqlalchemy/docker-compose.shared.yml new file mode 100644 index 00000000..a00058b8 --- /dev/null +++ b/python/flask-sqlalchemy/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: python/flask + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/flask-sqlalchemy + - APP_URL=http://app:4001 diff --git a/python/flask-sqlalchemy/docker-compose.yml b/python/flask-sqlalchemy/docker-compose.yml index d3465d7a..88e374ba 100644 --- a/python/flask-sqlalchemy/docker-compose.yml +++ b/python/flask-sqlalchemy/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: python/flask - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/flask-sqlalchemy - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/flask-sqlalchemy - - APP_URL=http://app:4001 diff --git a/python/flask/docker-compose.collector.yml b/python/flask/docker-compose.collector.yml new file mode 100644 index 00000000..63e9c0b2 --- /dev/null +++ b/python/flask/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/flask-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/flask/docker-compose.shared.yml b/python/flask/docker-compose.shared.yml new file mode 100644 index 00000000..df0b1526 --- /dev/null +++ b/python/flask/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: python/flask + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/flask + - APP_URL=http://app:4001 diff --git a/python/flask/docker-compose.yml b/python/flask/docker-compose.yml index d1a8d69f..abfdb9f0 100644 --- a/python/flask/docker-compose.yml +++ b/python/flask/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: python/flask - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/flask - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/flask - - APP_URL=http://app:4001 diff --git a/python/starlette/docker-compose.collector.yml b/python/starlette/docker-compose.collector.yml new file mode 100644 index 00000000..6609b2fb --- /dev/null +++ b/python/starlette/docker-compose.collector.yml @@ -0,0 +1,9 @@ +include: + - path: docker-compose.shared.yml + - path: ../../support/collector/docker-compose.yml + +services: + app: + environment: + - APPSIGNAL_APP_NAME=python/starlette-collector + - APPSIGNAL_COLLECTOR_ENDPOINT=http://appsignal-collector:8099 diff --git a/python/starlette/docker-compose.shared.yml b/python/starlette/docker-compose.shared.yml new file mode 100644 index 00000000..dd00cca0 --- /dev/null +++ b/python/starlette/docker-compose.shared.yml @@ -0,0 +1,29 @@ +version: '3.8' + +include: + - path: ../../support/bot/docker-compose.yml + +services: + app: + build: . + image: python/starlette + ports: + - "4001:4001" + env_file: + - ../../appsignal.env + - ../../appsignal_key.env + environment: + - PORT=4001 + volumes: + - ./app:/app + - ../integration:/integration + tests: + build: ../../support/server-tests + image: server-tests + profiles: + - tests + depends_on: + - app + environment: + - APP_NAME=python/starlette + - APP_URL=http://app:4001 diff --git a/python/starlette/docker-compose.yml b/python/starlette/docker-compose.yml index 3d122c0b..fba5fba4 100644 --- a/python/starlette/docker-compose.yml +++ b/python/starlette/docker-compose.yml @@ -1,30 +1,7 @@ -version: '3.8' - include: - - path: ../../support/bot/docker-compose.yml + - path: docker-compose.shared.yml services: app: - build: . - image: python/starlette - ports: - - "4001:4001" - env_file: - - ../../appsignal.env - - ../../appsignal_key.env environment: - - PORT=4001 - APPSIGNAL_APP_NAME=python/starlette - volumes: - - ./app:/app - - ../integration:/integration - tests: - build: ../../support/server-tests - image: server-tests - profiles: - - tests - depends_on: - - app - environment: - - APP_NAME=python/starlette - - APP_URL=http://app:4001 From 2650b259376ba6217941657b9ff249f7e958e401 Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 17:14:42 +0200 Subject: [PATCH 7/9] Update CI matrix for -opentelemetry renames The rename of the manual-OpenTelemetry setups missed the hardcoded app matrix in the CI workflow, leaving it pointed at directories that no longer exist. Point the 13 entries at their new -opentelemetry paths so they are tested again. --- .github/workflows/ci.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f0bed1d1..c94fae9a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: app: - elixir/alpine-release - elixir/phoenix - - elixir/phoenix-collector + - elixir/phoenix-opentelemetry - elixir/phoenix-oban - elixir/plug - elixir/plug-ecto @@ -83,8 +83,8 @@ jobs: fail-fast: false matrix: app: - - java/spring-native-collector - - java/spring-agent-collector + - java/spring-native-opentelemetry + - java/spring-agent-opentelemetry steps: - name: Checkout uses: actions/checkout@v4 @@ -115,9 +115,9 @@ jobs: - go/beego - go/beego-mod-otel - go/go-gin-mysql - - go/go-gin-mysql-collector + - go/go-gin-mysql-opentelemetry - go/gorilla-mux-mysql-redis-mongo - - go/gorilla-mux-mysql-redis-mongo-collector + - go/gorilla-mux-mysql-redis-mongo-opentelemetry steps: - name: Checkout uses: actions/checkout@v4 @@ -146,7 +146,7 @@ jobs: matrix: app: - javascript/react - - javascript/react-vite-collector + - javascript/react-vite-opentelemetry - javascript/ember - javascript/vanilla - javascript/vue-3 @@ -191,7 +191,7 @@ jobs: - nodejs/express-bullmq - nodejs/express-mongoose - nodejs/express-postgres - - nodejs/express-postgres-collector + - nodejs/express-postgres-opentelemetry - nodejs/express-redis - nodejs/express-redis-alpine - nodejs/express-yoga @@ -206,7 +206,7 @@ jobs: - nodejs/nextjs-13-app - nodejs/nextjs-14-app - nodejs/nextjs-14-pages - - nodejs/nextjs-15-app-collector + - nodejs/nextjs-15-app-opentelemetry - nodejs/remix - nodejs/restify steps: @@ -252,7 +252,7 @@ jobs: - ruby/rails7-sidekiq - ruby/rails8-delayed-job - ruby/rails8-sidekiq - - ruby/rails8-sidekiq-collector + - ruby/rails8-sidekiq-opentelemetry - ruby/sinatra-redis - ruby/sinatra-alpine - ruby/sinatra-puma @@ -294,7 +294,7 @@ jobs: matrix: app: - python/django5-celery - - python/django5-celery-collector + - python/django5-celery-opentelemetry - python/django4-celery - python/flask - python/fastapi @@ -326,9 +326,9 @@ jobs: fail-fast: false matrix: app: - - php/symfony-collector - - php/laravel-collector - - php/vanilla-collector + - php/symfony-opentelemetry + - php/laravel-opentelemetry + - php/vanilla-opentelemetry steps: - name: Checkout uses: actions/checkout@v4 From 8e8e14835cfd5eec3d795be58f6807a7300b153d Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Fri, 12 Jun 2026 17:33:24 +0200 Subject: [PATCH 8/9] Install modern Docker Compose in CI The shared-file compose layout includes a per-app shared file and then overrides the app service in the agent/collector files. The Docker Compose bundled with the ubuntu-22.04 runner rejects this with "services.app conflicts with imported resource"; newer Compose accepts it. Install a current Compose in each test job so the toggle works in CI. --- .github/workflows/ci.yml | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c94fae9a..c703a18c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,6 +66,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -95,6 +102,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -128,6 +142,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -160,6 +181,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -219,6 +247,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -268,6 +303,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env @@ -309,6 +351,13 @@ jobs: path: support/processmon/processmon key: ${{ env.CACHE_VERSION }}-processmon + - name: Update Docker Compose + run: | + mkdir -p ~/.docker/cli-plugins + curl -fsSL https://github.com/docker/compose/releases/download/v5.1.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose + chmod +x ~/.docker/cli-plugins/docker-compose + docker compose version + - name: Setup environment run: | echo APPSIGNAL_PUSH_API_KEY=not-a-real-api-key > appsignal_key.env From 3b8fd3755f5573f489f387dbefffeb8b5f7150bf Mon Sep 17 00:00:00 2001 From: Noemi Lapresta Date: Tue, 16 Jun 2026 16:02:29 +0200 Subject: [PATCH 9/9] Generalize mode toggle to arbitrary named modes A mode is now any docker-compose..yml file, instead of a hard-coded agent/collector pair. A plain docker-compose.yml (or docker-compose.default.yml) is the "default" mode; with no mode= the default is used, falling back to agent, else an error listing the available modes. The shared file is reserved and never selectable. Dual-mode setups have their docker-compose.yml renamed to docker-compose.agent.yml so they resolve to agent implicitly. The exec-based tasks (bash, console, diagnose, etc.) now pass -f, since those setups no longer have a plain compose file to auto-discover. --- README.md | 13 +- Rakefile | 153 +++++++++++------- ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 ...r-compose.yml => docker-compose.agent.yml} | 0 support/templates/README.md.erb | 13 +- 31 files changed, 116 insertions(+), 63 deletions(-) rename python/django4-asgi/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/django4-celery/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/django4-wsgi/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/django5-celery/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/fastapi-databases/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/fastapi/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/flask-pika/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/flask-sqlalchemy/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/flask/{docker-compose.yml => docker-compose.agent.yml} (100%) rename python/starlette/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/grape/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/hanami2-postgres/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rack/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails6-mysql/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails6-shakapacker/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails6-shoryuken/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-delayed-job/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-goodjob/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-postgres/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-sequel/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-solid-cache/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails7-solid-queue/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails8-delayed-job/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/rails8-sidekiq/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/sinatra-alpine/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/sinatra-gvltools/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/webmachine1/{docker-compose.yml => docker-compose.agent.yml} (100%) rename ruby/webmachine2/{docker-compose.yml => docker-compose.agent.yml} (100%) diff --git a/README.md b/README.md index 4a09124e..7507efa4 100644 --- a/README.md +++ b/README.md @@ -210,10 +210,15 @@ rake app=ruby/webmachine1 app:bot rake app=ruby/webmachine2 app:bot ``` -Most test setups run their integration in "agent mode". Some also support -"collector mode", in which the integration sends data to AppSignal through a -local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any -command (it defaults to `mode=agent`). The setups that support collector mode: +Each test setup can be run in one or more "modes", selected with the `mode=` +parameter. A mode is defined by a `docker-compose..yml` file in the setup +directory. When no `mode=` is given, the setup runs in its default mode (its +plain `docker-compose.yml`), or in `agent` mode when it has no default. + +Most setups run their integration in "agent mode". Some also support "collector +mode", in which the integration sends data to AppSignal through a local +AppSignal collector over OpenTelemetry. Pass `mode=collector` to any command. +The setups that support collector mode: ``` rake app=python/django4-asgi mode=collector app:up diff --git a/Rakefile b/Rakefile index b4d9fe86..68848221 100644 --- a/Rakefile +++ b/Rakefile @@ -11,52 +11,82 @@ def get_app end.delete_suffix("/") end -# A test setup supports collector mode when it ships a -# `docker-compose.collector.yml` next to its `docker-compose.yml`. Agent mode -# is always supported. -def supported_modes(app) - modes = [:agent] - modes << :collector if File.exist?("#{app}/docker-compose.collector.yml") +# A mode is just a `docker-compose..yml` file in the app directory. The +# `shared` file is reserved (it holds the common services every mode includes) +# and is never a selectable mode. Returns a `{ mode_name => filename }` map. +def mode_files(app) + Dir["#{app}/docker-compose.*.yml"].each_with_object({}) do |path, files| + mode = File.basename(path).sub(/\Adocker-compose\./, "").sub(/\.yml\z/, "") + next if mode == "shared" + files[mode] = File.basename(path) + end +end + +# A plain `docker-compose.yml` provides the `default` mode (so does an explicit +# `docker-compose.default.yml`). +def has_plain_default?(app) + File.exist?("#{app}/docker-compose.yml") +end + +# The modes an app can run in, for listing and validation. +def available_modes(app) + modes = mode_files(app).keys + modes << "default" if has_plain_default?(app) && !modes.include?("default") modes end +# The compose file that defines an app in the given mode. Each per-mode file +# includes the app's `docker-compose.shared.yml`, so loading one is enough. +def compose_file_for(app, mode) + files = mode_files(app) + return files[mode] if files.key?(mode) + return "docker-compose.yml" if mode == "default" && has_plain_default?(app) + raise "App #{app} has no compose file for '#{mode}' mode." +end + +def compose_file_arg(app, mode) + "-f #{compose_file_for(app, mode)}" +end + # Resolve the mode for an app from the `mode=` parameter: -# - no mode given: use agent (the default when both are supported). -# - mode given but unknown: error. -# - mode given but not supported by the app: error. +# - no mode given: the `default` mode if present, else `agent`, else error. +# - `mode=shared`: error (reserved, not selectable). +# - mode given but not available for the app: error, listing what is available. +# - the `default` mode is ambiguous when both `docker-compose.yml` and +# `docker-compose.default.yml` exist: error. # The chosen mode is printed so it's clear at the start of the output. def get_mode(app) - supported = supported_modes(app) - requested = ENV['mode'] + files = mode_files(app) + available = available_modes(app) + default_conflict = has_plain_default?(app) && files.key?("default") + requested = ENV["mode"] + requested = nil if requested && requested.strip.empty? mode = - if requested.nil? || requested.empty? - supported.include?(:agent) ? :agent : supported.first - else - sym = requested.to_sym - unless [:agent, :collector].include?(sym) - raise "Unknown mode '#{requested}'. Use mode=agent or mode=collector." - end - unless supported.include?(sym) - raise "App #{app} does not support #{requested} mode." + if requested.nil? + if available.include?("default") + "default" + elsif available.include?("agent") + "agent" + else + raise "No mode specified for #{app} and it has no default or agent mode. Available modes: #{available.sort.join(", ")}." end - sym + elsif requested == "shared" + raise "'shared' is not a selectable mode; it holds the services shared by every mode." + elsif !available.include?(requested) + raise "App #{app} does not support '#{requested}' mode. Available modes: #{available.sort.join(", ")}." + else + requested end + if mode == "default" && default_conflict + raise "App #{app} has both docker-compose.yml and docker-compose.default.yml, which both define the 'default' mode. Remove one." + end + puts "==> Mode: #{mode}" mode end -# The compose file that defines an app in the given mode. Each per-mode file -# includes the app's `docker-compose.shared.yml`, so loading one is enough. -def compose_file_arg(mode) - if mode == :collector - "-f docker-compose.collector.yml" - else - "-f docker-compose.yml" - end -end - def clone_from_git(path, repo, branch: nil) if File.exist?(path) puts "#{path} already present" @@ -197,7 +227,7 @@ namespace :app do if build_args options = "--build-arg=#{build_args}" end - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build #{options}" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} build #{options}" puts "Cleaning processmon" FileUtils.rm_f "#{@app}/commands/processmon" @@ -208,7 +238,7 @@ namespace :app do build_app puts "Starting compose..." - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} up --abort-on-container-exit" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} up --abort-on-container-exit" end desc "Start a test app and run the tests on it" @@ -216,10 +246,10 @@ namespace :app do build_app puts "Building the tests container..." - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build --build-arg TESTING=true tests" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} build --build-arg TESTING=true tests" puts "Starting compose with the tests..." - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} --profile tests up --abort-on-container-exit --exit-code-from tests" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} --profile tests up --abort-on-container-exit --exit-code-from tests" end desc "Start a test app with the bot generating activity" @@ -227,15 +257,16 @@ namespace :app do build_app puts "Building the bot container..." - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} build bot" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} build bot" puts "Starting compose with the bot..." - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} --profile bot up --abort-on-container-exit" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} --profile bot up --abort-on-container-exit" end desc "Attach to app and get bash" task :bash do @app = get_app + @mode = get_mode(@app) puts "Starting bash in #{@app}" workdir = if @app.start_with?("php/") @@ -243,20 +274,21 @@ namespace :app do else "/app" end - run_command "cd #{@app} && docker compose exec --workdir #{workdir} app /bin/bash" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec --workdir #{workdir} app /bin/bash" rescue FailedCommand puts "Failed to open '#{workdir}' working directory. Does it exist?" puts puts "Starting bash in #{@app} in root '/' fallback directory" - run_command "cd #{@app} && docker compose exec --workdir / app /bin/bash" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec --workdir / app /bin/bash" end desc "Attach to app and get a console" task :console do @app = get_app + @mode = get_mode(@app) if File.exist?("#{@app}/commands/console") puts "Starting console in #{@app}" - run_command "cd #{@app} && docker compose exec app /commands/console" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app /commands/console" else puts "Starting a console in #{@app} is not supported" end @@ -265,9 +297,10 @@ namespace :app do desc "Attach to app and run diagnose" task :diagnose do @app = get_app + @mode = get_mode(@app) if File.exist?("#{@app}/commands/diagnose") puts "Runing diagnose in #{@app}" - run_command "cd #{@app} && docker compose exec app /commands/diagnose" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app /commands/diagnose" else puts "Running diagnose in #{@app} is not supported" end @@ -276,9 +309,10 @@ namespace :app do desc "Attach to app and run demo" task :demo do @app = get_app + @mode = get_mode(@app) if File.exist?("#{@app}/commands/demo") puts "Runing demo in #{@app}" - run_command "cd #{@app} && docker compose exec app /commands/demo" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app /commands/demo" else puts "Running demo in #{@app} is not supported" end @@ -289,18 +323,24 @@ namespace :app do @app = get_app @mode = get_mode(@app) puts "Restarting #{@app}" - run_command "cd #{@app} && docker compose #{compose_file_arg(@mode)} restart app" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} restart app" end desc "Bring compose down and remove cached app docker image" task :down do @app = get_app - # Use the collector compose file when present: it includes the shared file, - # so it knows about every service (incl. the collector) and tears them all - # down. Falls back to the regular file for agent-only setups. - down_mode = supported_modes(@app).include?(:collector) ? :collector : :agent + # Tear everything down with the most complete compose file. The collector + # file includes the shared file plus the collector service, so it knows + # about every container; fall back to the default/agent file otherwise. + files = mode_files(@app) + down_file = + files["collector"] || + (has_plain_default?(@app) ? "docker-compose.yml" : nil) || + files["default"] || + files["agent"] || + files.values.first puts "Bringing compose down..." - run_command "cd #{@app} && docker compose #{compose_file_arg(down_mode)} --profile tests --profile bot down --rmi=local" + run_command "cd #{@app} && docker compose -f #{down_file} --profile tests --profile bot down --rmi=local" run_command "docker image rm -f #{@app}:latest" end @@ -308,7 +348,8 @@ namespace :app do desc "Tail appsignal.log" task :appsignal do @app = get_app - run_command "cd #{@app} && docker compose exec app sh -c 'touch /tmp/appsignal.log && tail -f /tmp/appsignal.log'" + @mode = get_mode(@app) + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app sh -c 'touch /tmp/appsignal.log && tail -f /tmp/appsignal.log'" end end @@ -316,7 +357,8 @@ namespace :app do desc "Head appsignal.log (first 20 lines)" task :appsignal do @app = get_app - run_command "cd #{@app} && docker compose exec app sh -c 'touch /tmp/appsignal.log && tail -f -n +1 /tmp/appsignal.log | head -n 20'" + @mode = get_mode(@app) + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app sh -c 'touch /tmp/appsignal.log && tail -f -n +1 /tmp/appsignal.log | head -n 20'" end end @@ -324,8 +366,9 @@ namespace :app do desc "Less +F appsignal.log" task :appsignal do @app = get_app - run_command "cd #{@app} && docker compose exec app touch /tmp/appsignal.log" - run_command "cd #{@app} && docker compose exec app less +F /tmp/appsignal.log" + @mode = get_mode(@app) + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app touch /tmp/appsignal.log" + run_command "cd #{@app} && docker compose #{compose_file_arg(@app, @mode)} exec app less +F /tmp/appsignal.log" end end end @@ -374,9 +417,9 @@ namespace :global do end.flatten # The bot service is pulled in via the bot compose include, which may live - # in the app's `docker-compose.yml` or in its `docker-compose.shared.yml`. + # in the app's mode files or in its `docker-compose.shared.yml`. @bot_apps = @apps.select do |app| - %w(docker-compose.yml docker-compose.shared.yml).any? do |file| + %w(docker-compose.yml docker-compose.agent.yml docker-compose.shared.yml).any? do |file| path = "#{app}/#{file}" File.exist?(path) && File.read(path).include?("support/bot/docker-compose.yml") end @@ -384,7 +427,7 @@ namespace :global do # Apps that ship a collector compose file can be run in collector mode. @collector_apps = @apps.select do |app| - supported_modes(app).include?(:collector) + mode_files(app).key?("collector") end File.write "README.md", render_erb("support/templates/README.md.erb") diff --git a/python/django4-asgi/docker-compose.yml b/python/django4-asgi/docker-compose.agent.yml similarity index 100% rename from python/django4-asgi/docker-compose.yml rename to python/django4-asgi/docker-compose.agent.yml diff --git a/python/django4-celery/docker-compose.yml b/python/django4-celery/docker-compose.agent.yml similarity index 100% rename from python/django4-celery/docker-compose.yml rename to python/django4-celery/docker-compose.agent.yml diff --git a/python/django4-wsgi/docker-compose.yml b/python/django4-wsgi/docker-compose.agent.yml similarity index 100% rename from python/django4-wsgi/docker-compose.yml rename to python/django4-wsgi/docker-compose.agent.yml diff --git a/python/django5-celery/docker-compose.yml b/python/django5-celery/docker-compose.agent.yml similarity index 100% rename from python/django5-celery/docker-compose.yml rename to python/django5-celery/docker-compose.agent.yml diff --git a/python/fastapi-databases/docker-compose.yml b/python/fastapi-databases/docker-compose.agent.yml similarity index 100% rename from python/fastapi-databases/docker-compose.yml rename to python/fastapi-databases/docker-compose.agent.yml diff --git a/python/fastapi/docker-compose.yml b/python/fastapi/docker-compose.agent.yml similarity index 100% rename from python/fastapi/docker-compose.yml rename to python/fastapi/docker-compose.agent.yml diff --git a/python/flask-pika/docker-compose.yml b/python/flask-pika/docker-compose.agent.yml similarity index 100% rename from python/flask-pika/docker-compose.yml rename to python/flask-pika/docker-compose.agent.yml diff --git a/python/flask-sqlalchemy/docker-compose.yml b/python/flask-sqlalchemy/docker-compose.agent.yml similarity index 100% rename from python/flask-sqlalchemy/docker-compose.yml rename to python/flask-sqlalchemy/docker-compose.agent.yml diff --git a/python/flask/docker-compose.yml b/python/flask/docker-compose.agent.yml similarity index 100% rename from python/flask/docker-compose.yml rename to python/flask/docker-compose.agent.yml diff --git a/python/starlette/docker-compose.yml b/python/starlette/docker-compose.agent.yml similarity index 100% rename from python/starlette/docker-compose.yml rename to python/starlette/docker-compose.agent.yml diff --git a/ruby/grape/docker-compose.yml b/ruby/grape/docker-compose.agent.yml similarity index 100% rename from ruby/grape/docker-compose.yml rename to ruby/grape/docker-compose.agent.yml diff --git a/ruby/hanami2-postgres/docker-compose.yml b/ruby/hanami2-postgres/docker-compose.agent.yml similarity index 100% rename from ruby/hanami2-postgres/docker-compose.yml rename to ruby/hanami2-postgres/docker-compose.agent.yml diff --git a/ruby/rack/docker-compose.yml b/ruby/rack/docker-compose.agent.yml similarity index 100% rename from ruby/rack/docker-compose.yml rename to ruby/rack/docker-compose.agent.yml diff --git a/ruby/rails6-mysql/docker-compose.yml b/ruby/rails6-mysql/docker-compose.agent.yml similarity index 100% rename from ruby/rails6-mysql/docker-compose.yml rename to ruby/rails6-mysql/docker-compose.agent.yml diff --git a/ruby/rails6-shakapacker/docker-compose.yml b/ruby/rails6-shakapacker/docker-compose.agent.yml similarity index 100% rename from ruby/rails6-shakapacker/docker-compose.yml rename to ruby/rails6-shakapacker/docker-compose.agent.yml diff --git a/ruby/rails6-shoryuken/docker-compose.yml b/ruby/rails6-shoryuken/docker-compose.agent.yml similarity index 100% rename from ruby/rails6-shoryuken/docker-compose.yml rename to ruby/rails6-shoryuken/docker-compose.agent.yml diff --git a/ruby/rails7-delayed-job/docker-compose.yml b/ruby/rails7-delayed-job/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-delayed-job/docker-compose.yml rename to ruby/rails7-delayed-job/docker-compose.agent.yml diff --git a/ruby/rails7-goodjob/docker-compose.yml b/ruby/rails7-goodjob/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-goodjob/docker-compose.yml rename to ruby/rails7-goodjob/docker-compose.agent.yml diff --git a/ruby/rails7-postgres/docker-compose.yml b/ruby/rails7-postgres/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-postgres/docker-compose.yml rename to ruby/rails7-postgres/docker-compose.agent.yml diff --git a/ruby/rails7-sequel/docker-compose.yml b/ruby/rails7-sequel/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-sequel/docker-compose.yml rename to ruby/rails7-sequel/docker-compose.agent.yml diff --git a/ruby/rails7-solid-cache/docker-compose.yml b/ruby/rails7-solid-cache/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-solid-cache/docker-compose.yml rename to ruby/rails7-solid-cache/docker-compose.agent.yml diff --git a/ruby/rails7-solid-queue/docker-compose.yml b/ruby/rails7-solid-queue/docker-compose.agent.yml similarity index 100% rename from ruby/rails7-solid-queue/docker-compose.yml rename to ruby/rails7-solid-queue/docker-compose.agent.yml diff --git a/ruby/rails8-delayed-job/docker-compose.yml b/ruby/rails8-delayed-job/docker-compose.agent.yml similarity index 100% rename from ruby/rails8-delayed-job/docker-compose.yml rename to ruby/rails8-delayed-job/docker-compose.agent.yml diff --git a/ruby/rails8-sidekiq/docker-compose.yml b/ruby/rails8-sidekiq/docker-compose.agent.yml similarity index 100% rename from ruby/rails8-sidekiq/docker-compose.yml rename to ruby/rails8-sidekiq/docker-compose.agent.yml diff --git a/ruby/sinatra-alpine/docker-compose.yml b/ruby/sinatra-alpine/docker-compose.agent.yml similarity index 100% rename from ruby/sinatra-alpine/docker-compose.yml rename to ruby/sinatra-alpine/docker-compose.agent.yml diff --git a/ruby/sinatra-gvltools/docker-compose.yml b/ruby/sinatra-gvltools/docker-compose.agent.yml similarity index 100% rename from ruby/sinatra-gvltools/docker-compose.yml rename to ruby/sinatra-gvltools/docker-compose.agent.yml diff --git a/ruby/webmachine1/docker-compose.yml b/ruby/webmachine1/docker-compose.agent.yml similarity index 100% rename from ruby/webmachine1/docker-compose.yml rename to ruby/webmachine1/docker-compose.agent.yml diff --git a/ruby/webmachine2/docker-compose.yml b/ruby/webmachine2/docker-compose.agent.yml similarity index 100% rename from ruby/webmachine2/docker-compose.yml rename to ruby/webmachine2/docker-compose.agent.yml diff --git a/support/templates/README.md.erb b/support/templates/README.md.erb index 6a0eb732..375eb439 100644 --- a/support/templates/README.md.erb +++ b/support/templates/README.md.erb @@ -37,10 +37,15 @@ page and follows a random link every 5 seconds): <% @bot_apps.each do |app | %>rake app=<%= app %> app:bot <% end %>``` -Most test setups run their integration in "agent mode". Some also support -"collector mode", in which the integration sends data to AppSignal through a -local AppSignal collector over OpenTelemetry. Pass `mode=collector` to any -command (it defaults to `mode=agent`). The setups that support collector mode: +Each test setup can be run in one or more "modes", selected with the `mode=` +parameter. A mode is defined by a `docker-compose..yml` file in the setup +directory. When no `mode=` is given, the setup runs in its default mode (its +plain `docker-compose.yml`), or in `agent` mode when it has no default. + +Most setups run their integration in "agent mode". Some also support "collector +mode", in which the integration sends data to AppSignal through a local +AppSignal collector over OpenTelemetry. Pass `mode=collector` to any command. +The setups that support collector mode: ``` <% @collector_apps.each do |app | %>rake app=<%= app %> mode=collector app:up