# Apm agent for databases

**URL:** <https://discuss.elastic.co/t/apm-agent-for-databases/155714>\
**Category:** APM\
**Created:** [November 7, 2018, 12:33pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714 "2018-11-07T12:33:22Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sebasd44](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@sebasd44](https://discuss.elastic.co/u/sebasd44)\
**Post date:** [November 7, 2018, 12:33pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/1 "2018-11-07T12:33:22Z")

</div>

Hi all, i'm newbie for this solution, there is a list for clients

APM Node.js Agent [1.x] — other versions  
APM Python Agent [2.x] — other versions  
APM Ruby Agent [1.x] — other versions  
APM Real User Monitoring JavaScript Agent [1.x] — other versions  
APM Go Agent [0.5] — other versions  
APM Java Agent [0.7] — other versions

but, is there any agent or support for databases?  
thanks for your time, Best Regards

---

<div class="post-metadata">

**Author:** ![wa7son](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wa7son/32/21259_2.png) [@wa7son](https://discuss.elastic.co/u/wa7son)\
**Post date:** [November 7, 2018, 12:50pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/2 "2018-11-07T12:50:41Z")

</div>

All our agents will instrument queries to your database from the application. It will measure the time each query takes and a few other things, but what goes on inside the database while the query is performed is not instrumented by Elastic APM.

Will that cover your use-case, or do you want to monitor the database it self in more detail?

---

<div class="post-metadata">

**Author:** ![wa7son](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wa7son/32/21259_2.png) [@wa7son](https://discuss.elastic.co/u/wa7son)\
**Post date:** [November 7, 2018, 12:56pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/3 "2018-11-07T12:56:50Z")

</div>

Btw, each agent supports a specific list of databases. The list varies a bit between agents, but you can see each of the lists for Node.js, Java and Go here:

- Node.js: [https://www.elastic.co/guide/en/apm/agent/nodejs/current/compatibility.html#compatibility-tracing-and-instrumentation](https://www.elastic.co/guide/en/apm/agent/nodejs/current/compatibility.html#compatibility-tracing-and-instrumentation)
- Java: [https://www.elastic.co/guide/en/apm/agent/java/current/supported-technologies-details.html#supported-databases](https://www.elastic.co/guide/en/apm/agent/java/current/supported-technologies-details.html#supported-databases)
- Go: [https://www.elastic.co/guide/en/apm/agent/go/current/supported-tech.html#supported-tech-databases](https://www.elastic.co/guide/en/apm/agent/go/current/supported-tech.html#supported-tech-databases)

---

<div class="post-metadata">

**Author:** ![sebasd44](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@sebasd44](https://discuss.elastic.co/u/sebasd44)\
**Post date:** [November 7, 2018, 1:04pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/4 "2018-11-07T13:04:01Z")

</div>

Hi Wa7son,

so if i install the node.js agent, i'm going to have information about  
but from what you say, i can take the time of the query but i cannot see the what is inside the query, but how i identify one query of the other? it's shows an id or the query itself?

Module Version Note  
cassandra-driver  
elasticsearch-js  
graphql  
handlebars  
ioredis  
mongodb-core  
mongodb  
mongojs  
mongoose  
mysql  
pg  
tedious

yes i want to monitor details about the databases and maybe there is more types of databases about maybe oracle and something like that

---

<div class="post-metadata">

**Author:** ![wa7son](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/wa7son/32/21259_2.png) [@wa7son](https://discuss.elastic.co/u/wa7son)\
**Post date:** [November 7, 2018, 1:29pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/5 "2018-11-07T13:29:13Z")

</div>

The Node.js agent currently does not support Oracle. There's [an open issue](https://github.com/elastic/apm-agent-nodejs/issues/531) for it that I suggest you add a +1 on so that we know that more people want this 🙂

If you use one of our supported databases, our agents will also show you the query that was performed and from where in your code the query was called.

Say you use the `pg` module to query PostgreSQL and your Node.js code looks like so:

```javascript
const sql = 'INSERT INTO users(name, email) VALUES($1, $2) RETURNING *'
const values = ['brianc', 'brian.m.carlson@gmail.com']

client.query(sql, values, (err, res) => {
  ...
})

```

The span will have a stack trace pointing to the `client.query(...)` line and it will also contain the value of the `sql` argument. The `values` are not recorded for privacy reasons.

---

<div class="post-metadata">

**Author:** ![sebasd44](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@sebasd44](https://discuss.elastic.co/u/sebasd44)\
**Post date:** [November 7, 2018, 2:48pm UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/6 "2018-11-07T14:48:57Z")

</div>

Hi Wa7son, thanks a lot for your help, now i understand i little more how the apm agent work  
i already give +1 to the open git issue

thanks for your time and help!  
best regards

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 28, 2018, 11:01am UTC](https://discuss.elastic.co/t/apm-agent-for-databases/155714/7 "2018-11-28T11:01:15Z")

</div>

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