Skip to content
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

chore(splunk_hec sink): Rewrite Splunk HEC metrics sink into the new style #9813

Merged
merged 23 commits into from
Oct 27, 2021

Conversation

001wwang
Copy link
Contributor

@001wwang 001wwang commented Oct 27, 2021

Closes #9735

This PR rewrites the Splunk HEC metrics sink into the new style and consolidates some common functionality between the logs and metrics sink. Namely, the two share their Service related code (HecRequest, HecResponse, HecRetryLogic, HecService, etc.) as they communicate with Splunk in the same way. I plan to add some more integration tests (sending multiple events), but the overall approach is ready for review.

Soak test results for syslog -> remap -> log_to_metric -> splunk_hec_metrics:

EXPERIMENT (syslog_log2metric_splunk_hec_metrics) VALUE_min VALUE_p90 VALUE_p99 VALUE_max VALUE_skewness VALUE_kurtosis
baseline (668f0c2) 1674971.078860 2734305.282628 2760389.536561 2764081.892383 -2.811998 7.436971
comparison (c18e958) 2556010.573916 2868772.357034 2874686.136094 2875446.394027 -1.460170 3.270110

(wow, what are the chances that the VALUE_min is a commit SHA)

The results are similar/slightly improved. The similarity of this soak with the syslog_log2metric_humio_metrics soak and the similar throughput results again lead me to believe the transforms are the limitation here. I may add a new soak that avoids transforms.

Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
@netlify
Copy link

netlify bot commented Oct 27, 2021

✔️ Deploy Preview for vector-project canceled.

🔨 Explore the source changes: ac5375a

🔍 Inspect the deploy log: https://app.netlify.com/sites/vector-project/deploys/6179b57ef999db000723de02

Signed-off-by: 001wwang <will.wang@datadoghq.com>
@001wwang 001wwang marked this pull request as ready for review October 27, 2021 17:10
@001wwang 001wwang requested review from blt and fuchsnj October 27, 2021 17:10
@blt
Copy link
Contributor

blt commented Oct 27, 2021

@001wwang adding a soak that removes transforms would be interesting, yeah.

Copy link
Contributor

@blt blt left a comment

Choose a reason for hiding this comment

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

Very nice work. No concerns at all from me.

Comment on lines +20 to +25
[transforms.remap]
type = "remap"
inputs = ["syslog"]
source = """
. = parse_syslog!(.message)
"""
Copy link
Contributor

Choose a reason for hiding this comment

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

You could avoid this step entirely if you used, say, datadog_agent ingress.

Signed-off-by: 001wwang <will.wang@datadoghq.com>
Signed-off-by: 001wwang <will.wang@datadoghq.com>
@001wwang 001wwang merged commit 9ef6501 into master Oct 27, 2021
@001wwang 001wwang deleted the splunk_hec_metrics-sink-rewrite branch October 27, 2021 22:19
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.

Rewrite the splunk_hec_metrics sink into the new style
2 participants