Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions libpf/frametype.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ const (
GoFrame FrameType = support.FrameMarkerGo
// BEAMFrame identifies the BEAM interpreter frames.
BEAMFrame FrameType = support.FrameMarkerBEAM
// LuaJITFrame identifies the LuaJIT interpreter frames.
LuaJITFrame FrameType = support.FrameMarkerLuaJIT
)

const (
Expand Down
2 changes: 1 addition & 1 deletion libpf/frametype_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ func TestFrameTypeFromString(t *testing.T) {
// Simple check whether all FrameType values can be converted to string and back.
for _, ft := range []FrameType{
UnknownFrame, PHPFrame, PythonFrame, NativeFrame, KernelFrame, HotSpotFrame, RubyFrame,
PerlFrame, V8Frame, DotnetFrame} {
PerlFrame, V8Frame, DotnetFrame, LuaJITFrame} {
t.Run(ft.String(), func(t *testing.T) {
name := ft.String()
result := FrameTypeFromString(name)
Expand Down
3 changes: 3 additions & 0 deletions libpf/interpretertype.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ const (
V8 InterpreterType = support.FrameMarkerV8
// Dotnet identifies the Dotnet interpreter.
Dotnet InterpreterType = support.FrameMarkerDotnet
// LuaJIT identifies the LuaJIT interpreter.
LuaJIT InterpreterType = support.FrameMarkerLuaJIT
// Go identifies Go code.
Go InterpreterType = support.FrameMarkerGo
// BEAM identifies the BEAM interpreter.
Expand Down Expand Up @@ -73,6 +75,7 @@ var interpreterTypeToString = map[InterpreterType]string{
Dotnet: "dotnet",
BEAM: "beam",
APMInt: "apm-integration",
LuaJIT: "luajit",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

FYI: opened open-telemetry/semantic-conventions#3707 to land support for this frame type.

Go: "go",
GoLabels: "go-labels",
}
Expand Down
2 changes: 2 additions & 0 deletions support/ebpf/frametypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
#define FRAME_MARKER_GO 0xB
// Indicates a BEAM frame
#define FRAME_MARKER_BEAM 0xC
// Indicates a LuaJIT frame
#define FRAME_MARKER_LUAJIT 0xD

// Frame flags
// Indicates that this frame is an error frame.
Expand Down
Binary file modified support/ebpf/tracer.ebpf.amd64
Binary file not shown.
Binary file modified support/ebpf/tracer.ebpf.arm64
Binary file not shown.
1 change: 1 addition & 0 deletions support/ebpf/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ typedef enum TracePrograms {
PROG_UNWIND_DOTNET10,
PROG_GO_LABELS,
PROG_UNWIND_BEAM,
PROG_UNWIND_LUAJIT,
NUM_TRACER_PROGS,
} TracePrograms;

Expand Down
2 changes: 2 additions & 0 deletions support/types.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions support/types_def.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const (
FrameMarkerPerl = C.FRAME_MARKER_PERL
FrameMarkerV8 = C.FRAME_MARKER_V8
FrameMarkerDotnet = C.FRAME_MARKER_DOTNET
FrameMarkerLuaJIT = C.FRAME_MARKER_LUAJIT
FrameMarkerBEAM = C.FRAME_MARKER_BEAM
FrameMarkerGo = C.FRAME_MARKER_GO
)
Expand All @@ -51,6 +52,7 @@ const (
ProgUnwindDotnet10 = C.PROG_UNWIND_DOTNET10
ProgGoLabels = C.PROG_GO_LABELS
ProgUnwindBEAM = C.PROG_UNWIND_BEAM
ProgUnwindLuaJIT = C.PROG_UNWIND_LUAJIT
)

const (
Expand Down
2 changes: 2 additions & 0 deletions tracer/types/parse.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const (
RubyTracer
V8Tracer
DotnetTracer
LuaJITTracer
GoTracer
Labels
BEAMTracer
Expand All @@ -38,6 +39,7 @@ var tracerTypeToName = map[tracerType]string{
RubyTracer: "ruby",
V8Tracer: "v8",
DotnetTracer: "dotnet",
LuaJITTracer: "luajit",
GoTracer: "go",
Labels: "labels",
BEAMTracer: "beam",
Expand Down