Skip to content

Conversation

@seb-cr
Copy link
Contributor

@seb-cr seb-cr commented Oct 16, 2023

Epsagon is no longer operating. They took down their website on 3 October and backend services have been gradually removed, and since 10 October any service still making requests to Espagon servers faces delays and Lambda timeouts.

We have now migrated to Lumigo. Their platform supports auto-tracing, allowing us to begin monitoring without deploying updates to Lambda Wrapper, however we are missing our metrics and labels which correspond to Execution Tags in Lumigo.

This PR makes the change to wrap handlers with Lumigo's tracer, and updates our logger to use Execution Tags for metrics and labels. To enable Lumigo tracing and tags, set LUMIGO_TRACER_TOKEN in your Lambda environment to your Lumigo token. Note that if you have enabled auto-tracing, this will be set automatically and tracing should "just work".

There are a couple of other little things that need doing (e.g. removing the raiseOnEpsagon flag) that I'll cover in separate PRs.

Jira: ENG-2764

BREAKING CHANGE: We no longer use Epsagon for monitoring. Lambda Wrapper now supports Lumigo instead.

Lumigo confirmed that the global `addExecutionTag` works in both
manually-traced and auto-traced functions.
This matches what Lumigo uses internally, and will allow `LoggerService`
to work with auto-traced functions without having to manually add the
token to the service.
Coerce the Lumigo wrapper to our handler type instead of broadening the
handler type. Fixes failing tests.
@seb-cr seb-cr requested review from corinja and zhibek October 16, 2023 09:37
Copy link
Member

@zhibek zhibek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @seb-cr. The implementation looks good to me, but I have questions about how this will work while auto-tracing is enabled (it's possible I've misunderstood how auto-tracing works).

I'm also requesting the auto vs manual setup of Lumigo be briefly explained in the in-line code documentation where we initialise the tracer.

Copy link
Member

@corinja corinja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really good. The readme changes and Lumigo tests are very clear.

Copy link
Member

@zhibek zhibek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With Lumigo confirming that "double-wrapping" is fine, I don't see the need for further changes. Looks good to me!

@seb-cr seb-cr merged commit fcdff3e into beta Oct 19, 2023
@seb-cr seb-cr deleted the ENG-2764/replace-epsagon-with-lumigo branch October 19, 2023 15:07
@github-actions
Copy link

🎉 This PR is included in version 2.0.0-beta.8 🎉

The release is available on:

Your semantic-release bot 📦🚀

seb-cr added a commit that referenced this pull request Mar 14, 2024
seb-cr added a commit that referenced this pull request Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants