Skip to content

Commit 7ae4eb3

Browse files
committed
Fix getLocations()
1 parent 8279e5b commit 7ae4eb3

File tree

2 files changed

+29
-15
lines changed

2 files changed

+29
-15
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Use this changelog template to create an entry for release notes.
2+
3+
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
4+
change_type: bug_fix
5+
6+
# The name of the component, or a single word describing the area of concern, (e.g. filelogreceiver)
7+
component: elasticsearchexporter
8+
9+
# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
10+
note: Fixes the getLocations() function.
11+
12+
# Mandatory: One or more tracking issues related to the change. You can use the PR number here if no issue exists.
13+
issues: [38274]
14+
15+
# (Optional) One or more lines of additional information to render under the primary note.
16+
# These lines will be padded with 2 spaces and then inserted directly into the document.
17+
# Use pipe (|) for multiline entries.
18+
subtext:
19+
20+
# If your change doesn't affect end users or the exported elements of any package,
21+
# you should instead start your pull request title with [chore] or use the "Skip Changelog" label.
22+
# Optional: The change log or logs in which this entry should be included.
23+
# e.g. '[user]' or '[user, api]'
24+
# Include 'user' if the change is relevant to end users.
25+
# Include 'api' if there is a change to a library API.
26+
# Default: '[user]'
27+
change_logs: [user]

exporter/elasticsearchexporter/internal/serializer/otelserializer/serializeprofiles/transform.go

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -389,23 +389,10 @@ func stackTraceID(frames []StackFrame) (string, error) {
389389
}
390390

391391
func getLocations(profile pprofile.Profile, sample pprofile.Sample) []pprofile.Location {
392-
if sample.LocationsLength() > 0 {
393-
locations := make([]pprofile.Location, 0, sample.LocationsLength())
394-
395-
for i := int(sample.LocationsStartIndex()); i < int(sample.LocationsLength()); i++ {
396-
if i < profile.LocationTable().Len() {
397-
locations = append(locations, profile.LocationTable().At(i))
398-
}
399-
}
400-
return locations
401-
}
402-
403392
locations := make([]pprofile.Location, 0, sample.LocationsLength())
404-
lastIndex := int(sample.LocationsStartIndex() + sample.LocationsLength())
393+
lastIndex := min(int(sample.LocationsStartIndex()+sample.LocationsLength()), profile.LocationTable().Len())
405394
for i := int(sample.LocationsStartIndex()); i < lastIndex; i++ {
406-
if i < profile.LocationTable().Len() {
407-
locations = append(locations, profile.LocationTable().At(i))
408-
}
395+
locations = append(locations, profile.LocationTable().At(i))
409396
}
410397
return locations
411398
}

0 commit comments

Comments
 (0)