# Gathering application monitoring stats

**URL:** <https://forum.crystal-lang.org/t/gathering-application-monitoring-stats/862>\
**Category:** Help & Support\
**Created:** [June 20, 2019, 11:28am UTC](https://forum.crystal-lang.org/t/gathering-application-monitoring-stats/862 "2019-06-20T11:28:40Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![spinscale](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/spinscale/32/63_2.png) [@spinscale](https://forum.crystal-lang.org/u/spinscale)\
**Post date:** [June 20, 2019, 11:28am UTC](https://forum.crystal-lang.org/t/gathering-application-monitoring-stats/862/1 "2019-06-20T11:28:40Z")

</div>

Hey,

I would like to gather some stats about my application, which the app then can provide via a JSON endpoint.

I found `GC::Stats` as already mentioned [here](https://forum.crystal-lang.org/t/memory-monitoring-debugging/459). I was wondering why the gc count is in LibGC instead of the `GC::Stats`?

Also, I think it might make sense monitor a little bit more than just GCs. The JVM has a a nice management interface using JMX, which can extract stats like memory in use/currently free memory/etc independently from the OS. Is there anything like that for crystal as well?

–Alex

---

<div class="post-metadata">

**Author:** ![asterite](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/asterite/32/60_2.png) [@asterite](https://forum.crystal-lang.org/u/asterite)\
**Post date:** [June 20, 2019, 12:06pm UTC](https://forum.crystal-lang.org/t/gathering-application-monitoring-stats/862/2 "2019-06-20T12:06:03Z")

</div>

> [@spinscale](#):
>
> I was wondering why the gc count is in LibGC instead of the `GC::Stats` ?

Sorry, I don’t understand what that means.

But the answer is that right now the API is provisional and subject to change. We don’t know if we’ll stick with boehm GC and whether we’ll even provide stats at all (depending on the GC we end up using).

So yes, we can improve this area a lot, but it will always be provisional and subject to change until 1.0.
