Agent configuration reload ClassCastException

book

Article ID: 74875

calendar_today

Updated On:

Products

APP PERF MANAGEMENT CA Application Performance Management Agent (APM / Wily / Introscope) CUSTOMER EXPERIENCE MANAGER INTROSCOPE

Issue/Introduction

The IntroscopeAgent.log file shows this exception:
3/26/18 08:16:23 AM EDT [ERROR] [IntroscopeAgent.Agent] IntervalHeartbeat.execute threw executing: Configuration Watcher java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at com.wily.introscope.agent.sqlagent.StatementNormalizer$2.set(StatementNormalizer.java:442) at com.wily.util.properties.hot.ConfigurationProperty.setValue(ConfigurationProperty.java:635) at com.wily.util.properties.hot.ConfigurationProperty.setValueAndLog(ConfigurationProperty.java:593) at com.wily.util.properties.hot.ConfigurationManager.setProperties(ConfigurationManager.java:622) at com.wily.util.properties.hot.ConfigurationManager.processConfiguration(ConfigurationManager.java:241) at com.wily.util.properties.hot.ConfigurationManager.onChange(ConfigurationManager.java:224) at com.wily.util.ConfigurationWatcher.processContentChange(ConfigurationWatcher.java:97) at com.wily.util.ConfigurationWatcher.ITimestampedRunnable_execute(ConfigurationWatcher.java:109) at com.wily.util.heartbeat.IntervalHeartbeat$BehaviorNode.execute(IntervalHeartbeat.java:972) at com.wily.util.heartbeat.IntervalHeartbeat.executeNextBehaviorAndCalculateSleepTime(IntervalHeartbeat.java:491) at com.wily.util.heartbeat.IntervalHeartbeat.access$2(IntervalHeartbeat.java:445) at com.wily.util.heartbeat.IntervalHeartbeat$HeartbeatRunnable.run(IntervalHeartbeat.java:668) at java.lang.Thread.run(Thread.java:744)

Cause

In this scenario, the customer agent profile was actually 10.5.0 with their own custom configuration although they had a 10.5.2 agent binary.
So this could happen where customers are upgrading the agent and using older agent profiles with their own settings.

Environment

Introscope agent 10.5.2

Resolution

Make sure this property is showing in the agent profile, if not, please add it.

introscope.agent.sqlagent.statement.clamp=100

It is related to new clamping configuration of SQL statements we have added into the agent since 10.5.2, so that we prevent metric explosions from SQL statements
Once we hit that clamp, any other metrics would be grouped into a 'Default' group. The property can changed dynamically to increase the clamp level.