Skip to content

Commit 931bd9d

Browse files
authored
Merge branch 'dev' into feat/dynamodb_instrumentation
2 parents 6352455 + 70fd59c commit 931bd9d

File tree

4 files changed

+19
-11
lines changed

4 files changed

+19
-11
lines changed

agent/lib_aws_sdk_php.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "nr_segment_datastore.h"
1414
#include "nr_segment_datastore_private.h"
1515

16+
1617
#if ZEND_MODULE_API_NO >= ZEND_8_1_X_API_NO /* PHP8.1+ */
1718
/* Service instrumentation only supported above PHP 8.1+*/
1819

agent/php_mshutdown.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
#include "nr_agent.h"
1717
#include "util_logging.h"
1818
#include "fw_wordpress.h"
19+
#include "lib_aws_sdk_php.h"
1920

2021
#ifdef TAGS
2122
void zm_shutdown_newrelic(void); /* ctags landing pad only */

daemon/internal/newrelic/log_events.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,25 @@ func (events *LogEvents) CollectorJSON(id AgentRunID) ([]byte, error) {
7676
estimate := len(es) * 128
7777
buf.Grow(estimate)
7878
buf.WriteString(`[{` +
79-
`"common": {"attributes": {`)
79+
`"common": {"attributes": `)
8080
nwrit := 0
81-
for _, value := range events.LogForwardingLabels {
82-
if nwrit > 0 {
83-
buf.WriteByte(',')
81+
labelMap := make(map[string]string)
82+
for _, label := range events.LogForwardingLabels {
83+
// safegaurd against invalid labels
84+
if len(label.LabelType) != 0 && len(label.LabelValue) != 0 {
85+
labelMap["tags."+label.LabelType] = label.LabelValue
8486
}
85-
nwrit++
86-
buf.WriteString(`"tags.`)
87-
buf.WriteString(value.LabelType)
88-
buf.WriteString(`":"`)
89-
buf.WriteString(value.LabelValue)
90-
buf.WriteString(`"`)
9187
}
9288

93-
buf.WriteString(`}},` +
89+
j, e := json.Marshal(labelMap)
90+
if e != nil {
91+
log.Errorf("failed to marshal log label: %s", e)
92+
buf.WriteString("{}")
93+
} else {
94+
buf.Write(j)
95+
}
96+
97+
buf.WriteString(`},` +
9498
`"logs": [`)
9599

96100
nwrit = 0

daemon/internal/newrelic/log_events_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ var (
2727
LogForwardingLabelsTestCase{name: "Invalid keys", labels: `[{"label_tipe":"type1","label_valyue":"value1"}]`, expected: `{}`},
2828
LogForwardingLabelsTestCase{name: "Space in value", labels: `[{"label_type":"type1","label_value":"value 1"}]`, expected: `{"tags.type1":"value 1"}`},
2929
LogForwardingLabelsTestCase{name: "Space in key", labels: `[{"label_type":"type 1","label_value":"value1"}]`, expected: `{"tags.type 1":"value1"}`},
30+
LogForwardingLabelsTestCase{name: "Empty value", labels: `[{"label_type":"type1","label_value":""}]`, expected: `{}`},
31+
LogForwardingLabelsTestCase{name: "Empty key", labels: `[{"label_type":"","label_value":"value1"}]`, expected: `{}`},
3032
}
3133
)
3234

0 commit comments

Comments
 (0)