question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Dependencies in Elastic.Apm

See original GitHub issue

Since the Elastic.Apm project is the core of the agent it can end up basically in any types of application on any types of framework that we support. Therefore we should be super careful about what other packages/assemblies this package depends on.

We already had suggestions from the community to add fancy logging libraries and I expect some other ideas in the future. All those are valid ideas, but one of the main design goals regarding this package should be portability (also beyond just .NET Standard 2.0). If we lock ourself into a specific framework or into a relatively high framework version then it can block our productivity and limit the supported frameworks/platforms heavily.

Therefore:

  • There should be a documentation describing this and each time someone suggests to add a new dependency to Elastic.Apm then we should just check if against or design goals and make the decision based on that. (hint: probably most of the suggestions to add a dependency will be declined…)

  • We should revisit the existing dependencies and think about solutions.

  • Json.NET (the elasticsearch client already solves this, we should reuse this solution)

  • System.Threading.Tasks.Dataflow (caused problems with our full framework sample on @SergeyKleyman`s setup, we should check if this is ok)

  • System.Diagnostics.DiagnosticSource

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

8reactions
tomapcommented, Mar 11, 2021

Any news on this move? removal of newtonsoft & switch to System.Text.Json ?

1reaction
Mpdreamzcommented, Oct 22, 2019

Most likely we will move to System.Text.Json @tomasfreund because its maintained.

In the .NET Elaticsearch client we depend on a fork of Utf8Json we maintain that tackles many of the outstanding issues including https://github.com/neuecc/Utf8Json/issues/154 see https://github.com/nullean/Utf8Json/commit/429e0611cb0fd30245c042ea6d13566c68b75b95

But the decision to do so there predates System.Text.Json 😄

Read more comments on GitHub >

github_iconTop Results From Across the Web

Dependencies | Kibana Guide [8.9]
APM agents collect details about external calls made from instrumented services. Sometimes, these external calls resolve into a downstream service that's ...
Read more >
Dependencies don't show up in APM
I have an app running in Cloud Run that I am profiling with Elastic APM. I get transaction level data, all the normal...
Read more >
Adding free and open Elastic APM as part of your ...
Adding the Elastic APM Dependency is simple — check the app.py file from the github repo and you will notice the following lines...
Read more >
Quick start with Elastic Cloud | APM User Guide [8.9]
Step 2: Install APM agentsedit · Install the APM agent. Install the APM agent for Node.js as a dependency to your application. ·...
Read more >
Set up the Agent | APM iOS Agent Reference [0.x]
Here are instructions for adding a package dependency to a standard Xcode poject. Details of adding dependencies to your Package.swift can be found...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found