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

Take entity data into account for payload size #1483

Merged
merged 36 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c337b44
Update estimated metric sizes
varunch77 Jan 2, 2025
f5f4d46
Update unit tests to reflect new metrics sizes
varunch77 Jan 2, 2025
08b9d0f
Update to add more comprehensive calculation of entity data
varunch77 Jan 6, 2025
2a63f71
nonamederrors fix
varunch77 Jan 6, 2025
6ec98a6
real nonamedreturns fix
varunch77 Jan 6, 2025
f764ce7
Decrease number of metrics for test due to increased size
varunch77 Jan 6, 2025
c4d99fa
Merge branch 'main' into update-payload-calculations
varunch77 Jan 6, 2025
6e08a7b
Update number of expected calls in test
varunch77 Jan 6, 2025
32df23e
Update unit test
varunch77 Jan 6, 2025
28d78af
Add test to reproduce >1MB scenario
varunch77 Jan 8, 2025
89a2ee9
Merge branch 'main' into update-payload-calculations
varunch77 Jan 8, 2025
1865755
Move entity size calculations
varunch77 Jan 8, 2025
38b022c
Rename strictEntityValidationsize to strictEntityValidationSize
varunch77 Jan 13, 2025
417f2b0
Fix log message typo
varunch77 Jan 13, 2025
9b8300a
Revert overhead changes + add new entity metric data prefix overhead
varunch77 Jan 13, 2025
29e133f
Update all consts
varunch77 Jan 13, 2025
c1d9494
Update/revert test changes
varunch77 Jan 13, 2025
6ca1cc0
Upload payload function
varunch77 Jan 13, 2025
d81805d
Fix typo
varunch77 Jan 14, 2025
ee3e148
Merge branch 'main' into update-payload-calculations
varunch77 Jan 14, 2025
f4d9be6
Merge branch 'main' into update-payload-calculations
varunch77 Jan 15, 2025
807f4b7
Update payload function for entity calculation
varunch77 Jan 15, 2025
4b0a375
Fix unit tests
varunch77 Jan 15, 2025
459ef7c
Add comments
varunch77 Jan 15, 2025
b301e9f
Merge branch 'main' into update-payload-calculations
varunch77 Jan 22, 2025
a66a13f
Revert changes in util_test.go file
varunch77 Jan 27, 2025
7b72bd4
Revert more changes
varunch77 Jan 27, 2025
ff19bc3
Revert more changes
varunch77 Jan 27, 2025
5b1e607
Run linter
varunch77 Jan 27, 2025
2535030
Add more comments/breadcrumbs
varunch77 Jan 27, 2025
e5f9068
Revert test file changes
varunch77 Jan 27, 2025
df2fb26
Run linter
varunch77 Jan 27, 2025
8330a43
Make more comment changes
varunch77 Jan 27, 2025
33ec4c5
Merge branch 'main' into update-payload-calculations
varunch77 Jan 27, 2025
c189e95
Update golangci.yml to remove linter warning when run
varunch77 Jan 27, 2025
4cce46b
Merge branch 'main' into update-payload-calculations
varunch77 Jan 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions plugins/outputs/cloudwatch/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,27 +25,27 @@ const (
pmdActionSize = 20
// &Version=2010-08-01
versionSize = 19
// &MetricData.member.100.StatisticValues.Maximum=1558.3086995967291&MetricData.member.100.StatisticValues.Minimum=1558.3086995967291&MetricData.member.100.StatisticValues.SampleCount=1000&MetricData.member.100.StatisticValues.Sum=1558.3086995967291
statisticsSize = 246
// &MetricData.member.100.Timestamp=2018-05-29T21%3A14%3A00Z
timestampSize = 57
// &EntityMetricData.member.100.MetricData.member.100.StatisticValues.Maximum=1558.3086995967291&EntityMetricData.member.100.MetricData.member.100.StatisticValues.Minimum=1558.3086995967291&EntityMetricData.member.100.MetricData.member.100.StatisticValues.SampleCount=1000&EntityMetricData.member.100.MetricData.member.100.StatisticValues.Sum=1558.3086995967291
varunch77 marked this conversation as resolved.
Show resolved Hide resolved
statisticsSize = 358
varunch77 marked this conversation as resolved.
Show resolved Hide resolved
// &EntityMetricData.member.100.MetricData.member.100.Timestamp=2018-05-29T21%3A14%3A00Z
timestampSize = 85

overallConstPerRequestSize = pmdActionSize + versionSize
// &Namespace=, this is per request
namespaceOverheads = 11

// &MetricData.member.100.Dimensions.member.1.Name= &MetricData.member.100.Dimensions.member.1.Value=
dimensionOverheads = 48 + 49
// &MetricData.member.100.MetricName=
metricNameOverheads = 34
// &MetricData.member.100.StorageResolution=1
highResolutionOverheads = 42
// &MetricData.member.100.Values.member.100=1558.3086995967291 &MetricData.member.100.Counts.member.100=1000
valuesCountsOverheads = 59 + 45
// &MetricData.member.100.Value=1558.3086995967291
valueOverheads = 47
// &MetricData.member.1.Unit=Kilobytes/Second
unitOverheads = 42
// &EntityMetricData.member.100.MetricData.member.100.Dimensions.member.1.Name= &EntityMetricData.member.100.MetricData.member.100.Dimensions.member.1.Value=
dimensionOverheads = 76 + 77
// &EntityMetricData.member.100.MetricData.member.100.MetricName=
metricNameOverheads = 62
// &EntityMetricData.member.100.MetricData.member.100.StorageResolution=1
highResolutionOverheads = 70
// &EntityMetricData.member.100.MetricData.member.100.Values.member.100=1558.3086995967291 &EntityMetricData.member.100.MetricData.member.100.Counts.member.100=1000
valuesCountsOverheads = 87 + 73
// &EntityMetricData.member.100.MetricData.member.100.Value=1558.3086995967291
valueOverheads = 75
// &EntityMetricData.member.1.MetricData.member.1.Unit=Kilobytes/Second
unitOverheads = 68
)

// Set seed once.
Expand Down
6 changes: 3 additions & 3 deletions plugins/outputs/cloudwatch/util_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ func TestPayload_ValuesAndCounts(t *testing.T) {
datum.SetStorageResolution(1)
datum.SetTimestamp(time.Now())
datum.SetUnit("None")
assert.Equal(t, 867, payload(datum))
assert.Equal(t, 1313, payload(datum))
}

func TestPayload_Value(t *testing.T) {
Expand All @@ -131,15 +131,15 @@ func TestPayload_Value(t *testing.T) {
datum.SetStorageResolution(1)
datum.SetTimestamp(time.Now())
datum.SetUnit("None")
assert.Equal(t, 356, payload(datum))
assert.Equal(t, 550, payload(datum))
}

func TestPayload_Min(t *testing.T) {
datum := new(cloudwatch.MetricDatum)
datum.SetValue(1.23456789)
datum.SetMetricName("MetricName")
datum.SetTimestamp(time.Now())
assert.Equal(t, 148, payload(datum))
assert.Equal(t, 232, payload(datum))
}

func TestEntityToString_StringToEntity(t *testing.T) {
Expand Down
Loading