Problema
Estás empleando el agente Ruby New Relic con la conexión automática APM Kubernetes para un framework que no es Rails (como Sinatra), pero no aparecen datos APM en tu cuenta New Relic .
Solución
Llame explícitamente Bundler.require al principio del proceso de inicio de su aplicación.
Para muchos marcos, esto se puede hacer agregándolo a su archivo de aplicación principal o a un archivo config.ru antes de que se definan sus clases de aplicación.
Ejemplo (config.ru o app.rb):
# config.ru
require 'bundler'Bundler.require
# ... rest of your application's startup coderequire_relative './my_sinatra_app'run MySinatraAppLuego de agregar este código, vuelva a implementar su aplicación. Los datos deberían comenzar a aparecer en New Relic en unos minutos.
Causa
La conexión automática de APM de Kubernetes funciona parcheando el método Bundler::Runtime#require para inyectar la gema newrelic_rpm en su aplicación.
Si bien la aplicación Rails llama automáticamente Bundler.require durante su proceso de arranque, muchos otros frameworks no lo hacen. Si nunca se llama a Bundler.require , el agente New Relic nunca se carga en el entorno de su aplicación. Agregar esta línea garantiza que el agente se cargue como se espera.