-
Notifications
You must be signed in to change notification settings - Fork 388
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
Update Blob Storage Forwarder to use HTTP #727
Update Blob Storage Forwarder to use HTTP #727
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One nit
working-directory: azure | ||
- run: npm run test | ||
working-directory: azure | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why did this PR require a new workflow for running tests. Wouldn't the existing workflows run the tests?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
During the PR process found there was no existing workflow that ran the test.
var tls = require('tls'); | ||
|
||
const VERSION = '0.2.0'; | ||
const VERSION = '1.0.0'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the http version requirement coming from Azure? Any reason why we do not use http 2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the version of the blob forwarder. The HTTP from TLS is an internal req
const DD_URL = process.env.DD_URL || 'functions-intake.logs.' + DD_SITE; | ||
const DD_PORT = process.env.DD_PORT || DD_SITE === 'datadoghq.eu' ? 443 : 10516; | ||
const DD_HTTP_URL = process.env.DD_URL || 'http-intake.logs.' + DD_SITE; | ||
const DD_HTTP_PORT = process.env.DD_PORT || 443; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we no longer use different ports for eu vs other sites?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was relevant for TCP and TCP is only supported in us1 and eu1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one question
this.scrubber = new Scrubber(this.context, SCRUBBER_RULE_CONFIGS); | ||
this.batcher = new Batcher( | ||
this.context, | ||
256 * 1000, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How these limits were decided? Is it based on the doc here. The single record limit and max entries in a payload can be higher
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uncertain they were added in a 2021 PR for the event hub forwarder
#456
Its not a blocker for now, but we should look into gzip compressing the payloads. |
Agreed. We should have a task to knock this out for both forwarders now that they are architected the same |
What does this PR do?
Transitions the Azure Storage Blog Forwarder from TCP to HTTP. In Addition, this PR enabled running the mocha tests through Github Actions.
Motivation
TCP is difficult to troubleshoot and our logs teams here at Datadog has recommended transitioning over to HTTP. In addition this brings our EventHub and BlobStorage forwarders in line in terms of code and functionality.
Testing Guidelines
Tests have been added and enabled in CI. This has also been setup in a test org in Datadog and shows that the blob forwarder can submit logs still.
Types of changes
Check all that apply