DX Application Performance Management

 View Only
  • 1.  How To Rename A Backend

    Posted Nov 17, 2015 01:27 PM

    When looking at the backends for one of my JBoss based applications, Introscope has decided to name one of the JDBC backends as follows:

     

    jdbc%mercury%oracle%;catalogoptions=2;connectionretrydelay=1;bulkloadbatchsize=1000;supportlinks=false;maxpooledstatements=0;keystore=;stringparamsmustmatchcharcolumns=true;programid=;enablecanceltimeout=false;truststorepassword=;validateservercertificate=true;codepageoverride=;refcursorsupport=true;keystorepassword=;editionname=;connectionretrycount=5;sendfloatparametersasstring=false;commitbehavior=serverdefault;enablebulkload=false;tnsservername=bsmprdpry;batchperformanceworkaround=true;dataintegritytypes=(md5,sha1);initializationstring=;failoverpreconnect=false;reportrecyclebin=true;enableserverresultcache=false;resultsetmetadataoptions=0;clientuser=;querytimeout=0;hostnameincertificate=;failovergranularity=nonatomic;wireprotocolmode=2;applicationname=mercury_as data direct jdbc driver;javadoubletostring=false;loadlibrarypath=;initialcolumnbuffersize=-1;importstatementpool=;alternateservers=;encryptiontypes=(aes128,aes192,aes256,des,3des112,3des168,rc4_40,rc4_56,rc4_128,rc4_256);sdusize=;dataintegritylevel=rejected;action=;keypassword=;bulkloadoptions=0;module=mercury_as data direct jdbc driver;encryptionmethod=noencryption;accountinginfo=;convertnull=1;truststore=;tnsnamesfile=d%\hpbsm\conf\bsm-tnsnames.ora;failovermode=select;jdbcbehavior=1;authenticationmethod=auto;logintimeout=30;servicename=;servertype=;loadbalancing=false;workarounds=0;sid=;insensitiveresultsetbuffersize=2048;sysloginrole=;clienthostname=;encryptionlevel=rejected;fetchtswtzastimestamp=false;clientid=mercury_as data direct jdbc driver

     

     

    That is an absurdly long name.  I'm not sure exactly how the the agent decided upon that name but it is making things a bit messy, such as the triage map.  Is there a way to instruct the agent to use another name?  Any clue why the agent decided to use this name?  It looks more like a list of options for the JDBC connection.  This is some sort of vendor developed JDBC driver, not a standard Oracle JDBC driver.  My guess is that has something to do with why the odd name was chosen.

     

     

     

    Thank you.



  • 2.  Re: How To Rename A Backend
    Best Answer

    Posted Nov 17, 2015 01:42 PM

    Hi Sean,

    You can't simply rename the backend as it's automatically determined at runtime.

    In this case you are using a custom Database Driver which is not certified by the SQL Agent and as a result it's unable to parse\understand the JDBC URL properly leading to the long name. Unless we add support for this specific Database Driver you are looking at customization either in terms of modifying the SQL Agent instrumentation or having a custom name formatter created which could parse such URL. Both of these will fall into CA Services domain and if interested you can work with CA Sales rep to get more details.

     

    Regards,

    Kulbir.



  • 3.  Re: How To Rename A Backend

    Posted Nov 17, 2015 02:20 PM

    Thank you Kulbir,

     

       That is actually a very helpful answer.  I don't think the idea of bringing a CA Services engineer would fly on this particular topic but you've given me a good lead to follow in terms of doing it myself.  This provides extra motivation to spend the time to learn how to do advanced customization of Introscope.   I see there is a training class called "CA INTROSCOPE R9.X: DIAGNOSTIC TOOLS AND CUSTOMIZATIONS 300".  Do you think that might provide the foundation for this topic or is there a better course?

     

     

     

    Thank you,

     

    Sean

     



  • 4.  Re: How To Rename A Backend

    Posted Nov 17, 2015 02:34 PM

    Hi Sean,

    Regardless of how much that class will help in this particular scenario I would recommend taking it for greater benefit and better understanding of how Agent can be customized.

    We do however are adding smartness inside the agent itself to automatically monitor interesting code via "Smart Instrumentation" feature(9.6 and higher) so the need for custom pbd's is minimized if not completely eliminated. For this specific issue if there is only one DB backend in this application then you can possibly hardcode the name in the sqlagent.pbd by replacing {database} string however it's just a workaround and NOT recommended way of handling this stuff. In general we highly discourage manual changes to core agent pbd's as it can cause other problems and changes will get overwritten on Agent upgrade.

     

    Longer term I would suggest filing a idea\enhancement to request support for this specific Database Driver with SQL Agent so we can properly display the DB name and corresponding SQL metrics.

     

    Regards,

    Kulbir.