When we instrument the containerised application, and some errors prevent it from starting, customers complain that instrumentation breaks the application. Some of them uninstall autotrace-webhook, some disable Autotrace Webhook, some add a namespace into the exclude list and reinstall autotrace webhook.
If we provide short instruction in application log on how to set label instana-autotrace=‘false’ it would save a lot of time for customer and give sense of simplicity.
Those issues are mostly the same. Would also be good to put link in application log to our public documentation with the topic and troubleshooting cases.
Clarifications provided by Oleg:
What I ment is to add instruction into application log.
When customer instruments applicatio and sees that his pod is restarting (or at least doesn’t see the result of autoinstrumentation) fist thing he checks is the log of the failing pod.
It is their Application log:
Something like:
==================
label
13:14:17.689 INFO |- DefaultPodSpecTransformation: Configuration is use libinstana init
13:14:17.689 INFO |- DefaultPodSpecTransformation: Configuration is use autotrace nodejs
13:14:17.696 INFO |- [AdmissionReview 81128a51-4ca6-4bf5-9d9b-676a6f37540b] Applied transformation DefaultDeploymentTransformation to the Deployment 'testapp/instana-tests'
yarn run v1.22.19
$ cross-env NODE_ENV=production node dist/main
{"name":"@instana/collector","thread":0,"__in":1,"hostname":"testapp-7f66746b94-jnvjc","pid":28,"module":"pidStore","level":30,"msg":"Starting with pid 28","time":"2024-03-21T13:18:48.799Z","v":0}
. . .
==================
And sees there some error that causes the pod to restart.
What is first thing he would do if he can’t fix the app? – disable Instrumentation, and usually customers do not read documentation. They read their application logs!
So why not to put there information for them like:
==================
label
13:14:17.689 INFO |- DefaultPodSpecTransformation: Configuration is use libinstana init
13:14:17.689 INFO |- DefaultPodSpecTransformation: Configuration is use autotrace nodejs
13:14:17.696 INFO |- [AdmissionReview 81128a51-4ca6-4bf5-9d9b-676a6f37540b] Applied transformation DefaultDeploymentTransformation to the Deployment 'testapp/instana-tests'
INSTANA TRACER NOTE: If you would like to disable auto instrumentation of the application set label: instana-autotrace=”false”
In the deployment/statefulset/pod.
More info: https://www.ibm.com/docs/en/instana-observability/current?topic=kubernetes-instana-autotrace-webhook#ignoring-resources
yarn run v1.22.19
$ cross-env NODE_ENV=production node dist/main
{"name":"@instana/collector","thread":0,"__in":1,"hostname":"testapp-7f66746b94-jnvjc","pid":28,"module":"pidStore","level":30,"msg":"Starting with pid 28","time":"2024-03-21T13:18:48.799Z","v":0}
. . .
==================