# How can I create my own APM Client for \[Insert Language\]

**URL:** <https://discuss.elastic.co/t/how-can-i-create-my-own-apm-client-for-insert-language/311166>\
**Category:** APM\
**Tags:** server\
**Created:** [August 2, 2022, 12:05am UTC](https://discuss.elastic.co/t/how-can-i-create-my-own-apm-client-for-insert-language/311166 "2022-08-02T00:05:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![psilospore](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/psilospore/32/109132_2.png) [@psilospore](https://discuss.elastic.co/u/psilospore)\
**Post date:** [August 2, 2022, 12:05am UTC](https://discuss.elastic.co/t/how-can-i-create-my-own-apm-client-for-insert-language/311166/1 "2022-08-02T00:05:29Z")

</div>

Hi is there any guidance on how I could make my own APM Client? I am attempting to create one for Haskell. I attempted to browse some of the existing implementations but they can be quite large. It also seems that some clients use special language features from the docs.

What version should I use of the spec should I use? [apm-server/docs/spec at main · elastic/apm-server · GitHub](https://github.com/elastic/apm-server/tree/main/docs/spec)

---

<div class="post-metadata">

**Author:** ![gil](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/gil/32/41911_2.png) [@gil](https://discuss.elastic.co/u/gil)\
**Post date:** [August 2, 2022, 12:22am UTC](https://discuss.elastic.co/t/how-can-i-create-my-own-apm-client-for-insert-language/311166/2 "2022-08-02T00:22:48Z")

</div>

The [APM agent specs](https://github.com/elastic/apm/blob/main/specs/agents/README.md) is a good place to start for writing an Elastic APM client in your choice of language.

Another option to consider is OpenTelemetry, which Elastic APM can [ingest natively](https://www.elastic.co/guide/en/apm/guide/current/open-telemetry.html). A [quick search](https://duckduckgo.com/?q=opentelemetry+haskell&t=ha&va=j&ia=software) turned up a few projects providing a haskell client.

---

<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:** [August 22, 2022, 8:23pm UTC](https://discuss.elastic.co/t/how-can-i-create-my-own-apm-client-for-insert-language/311166/3 "2022-08-22T20:23:10Z")

</div>

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