Skip to content

Rewrite UPD client when the extension is present to avoid loading datadogpy #170

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Aug 31, 2021

Conversation

maxday
Copy link
Contributor

@maxday maxday commented Aug 31, 2021

What does this PR do?

Do not load datadogpy when the extension is detected.
Basically this PR duplicates the Dogstatd from datadogpy but in a super light version

Motivation

Cold start duration improvements

Testing Guidelines

Unit tests + integration tests

Types of Changes

  • Bug fix
  • New feature
  • Breaking change
  • Misc (docs, refactoring, dependency upgrade, etc.)

Check all that apply

  • This PR's description is comprehensive
  • This PR contains breaking changes that are documented in the description
  • This PR introduces new APIs or parameters that are documented and unlikely to change in the foreseeable future
  • This PR impacts documentation, and it has been updated (or a ticket has been logged)
  • This PR's changes are covered by the automated tests
  • This PR collects user input/sensitive content into Datadog
  • This PR passes the integration tests (ask a Datadog member to run the tests)

@maxday maxday requested a review from a team as a code owner August 31, 2021 14:53
@@ -1,16 +1,12 @@
from datadog_lambda.stats_writer import StatsWriter
from datadog import initialize, statsd
from datadog_lambda.dogstatsd import statsd
Copy link
Collaborator

Choose a reason for hiding this comment

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

Can you add a comment in the other place (threadstats_writer?) where datadog is lazy loaded? just so people don't accidentally get import datadog into the critical path in the future?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good idea! I've updated both files with the comment. In threadstats_writer, there is no need to lazy load datadog as this file is lazy loaded itself here : https://github.com/DataDog/datadog-lambda-python/blob/main/datadog_lambda/metric.py#L30

@maxday maxday merged commit cd6be68 into main Aug 31, 2021
@maxday maxday deleted the maxday/do-not-call-initialize branch August 31, 2021 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants