AppD Archive

Does AppDynamics allows to monitor Clojure Applications

CommunityUser
Splunk Employee
Splunk Employee

Hi all,

I have a JVM application writen in Clojure. It runs in an embedded Jetty (runs with ring.adapter.jetty).

I've attached the Java Agent, the server is listed in AppDynamics console, however no transactions or load data show up.

Does AppDynamics allows to monitor Clojure Applications? Any way to make it work?

Thanks.

1 Solution

Arun_Dasetty
Super Champion

Hi,

We should be able to monitor any java based webapp as long as the target compiled classes are .class , Can you define POJO rules on Clojure classes and see if that helps?

https://docs.appdynamics.com/display/PRO41/POJO+Entry+Points

In some cases, we might not auto discover BTs could be due to that we are hitting out of box supported entry points like servle, struts, JMS etc and we could still continue to define custom pojo rules on target class and monitor as BT

View solution in original post

0 Karma

Arun_Dasetty
Super Champion

Hi,

We should be able to monitor any java based webapp as long as the target compiled classes are .class , Can you define POJO rules on Clojure classes and see if that helps?

https://docs.appdynamics.com/display/PRO41/POJO+Entry+Points

In some cases, we might not auto discover BTs could be due to that we are hitting out of box supported entry points like servle, struts, JMS etc and we could still continue to define custom pojo rules on target class and monitor as BT

0 Karma

CommunityUser
Splunk Employee
Splunk Employee

Yes, it works!

For anyone interested in this, Clojure generates anonymous inner class for everyfunction declared in a given namespace and creates a method called "invoke" in it.

For instance if you have a function like the below:

(ns myproject)

(defn my-function [])

You should create the following rule in appdynamics:

class name contains: "myproject$my_function"

method name contains: invoke

Note that clojure replaces "-" by "_" when translating to java. I used contains rule just in case, but I think equals works also.

0 Karma
Get Updates on the Splunk Community!

See just what you’ve been missing | Observability tracks at Splunk University

Looking to sharpen your observability skills so you can better understand how to collect and analyze data from ...

Weezer at .conf25? Say it ain’t so!

Hello Splunkers, The countdown to .conf25 is on-and we've just turned up the volume! We're thrilled to ...

How SC4S Makes Suricata Logs Ingestion Simple

Network security monitoring has become increasingly critical for organizations of all sizes. Splunk has ...