Help with instrumenting an application on Tomcat 5.x

Hello,

I have been able to successfully instrument my application, which is running on Tomcat 5.x. I am able to see the event logs in APM agent logs. However, the logs are not being sent to the APM server and do not show up in the Kibana dashboards. I understand 5.x is not supported. But, I would like to understand what changes are required to support 5.x.

Thank you,
Sandhya

To be sure I understand you correctly - do you want to analyze the agent log file in Kibana? The agent does not send any logs to the APM server. It sends transaction and span events.

Could you attach the full agent DEBUG log file?

Thank you for the response.

I meant the transactions and span events.

However, when I enabled my application to run on Tomcat 7.x, I do see the events being transported to the APM server. I understand Tomcat 5.x is not supported and hence the events were not being reported.

On another note, is it possible to capture the user information OOTB. And also the method parameters etc;

Thank you,
Sandhya

Which framework are you using for user-management? The agent reads user information from javax.servlet.http.HttpServletRequest#getUserPrincipal.

The agent does not record each method invocation and thus also does not record all parameters. You could, however, create a custom span for methods you are interested in.

Do you want to give a bit more context about your use-case and what you are trying to achieve?

I was looking at the stack trace and it shows the code path and method and classes that are being invoked. So, was wondering if the method parameters can be captured too ?

Along with performance metrics, I was wondering if I could capture the data submitted by the user for a certain action.

Also, I see that some of the DB SQL queries are truncated. Do we have a max size limit on the queries.

I am sorry about including too many questions in one topic. If you'd like, I can open a separate topic for some other questions I have. Thank you.

That's perfectly fine, ask all the questions you want :slight_smile:

While that is working for other agents, in Java it's unfortunately not trivial as you can't just read the parameters from a StackTraceElement.

You can capture application/x-www-form-urlencoded (form parameters) by enabling capture_body

Good catch, currently all Strings are limited to 1024 characters, but for SQL statements, there should actually not be a limit. I'll remove the limit so you can see your full SQL.

That helps. Thank you so much.

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.