github.com/grafana/pyroscope@v1.18.0/pkg/symbolizer/types.go (about)

     1  package symbolizer
     2  
     3  import (
     4  	googlev1 "github.com/grafana/pyroscope/api/gen/proto/go/google/v1"
     5  	"github.com/grafana/pyroscope/lidia"
     6  )
     7  
     8  // LidiaTableCacheEntry represents a cached Lidia table with its binary layout information
     9  type LidiaTableCacheEntry struct {
    10  	Data []byte // Processed Lidia table data
    11  }
    12  
    13  // location represents a memory address to be symbolized
    14  type location struct {
    15  	address uint64
    16  	lines   []lidia.SourceInfoFrame
    17  }
    18  
    19  // request represents a symbolization request for multiple addresses
    20  type request struct {
    21  	buildID    string
    22  	binaryName string
    23  	locations  []*location
    24  }
    25  
    26  // symbolizedLocation represents a location that has been symbolized
    27  type symbolizedLocation struct {
    28  	loc     *googlev1.Location
    29  	symLoc  *location
    30  	mapping *googlev1.Mapping
    31  }
    32  
    33  type funcKey struct {
    34  	nameIdx, filenameIdx int64
    35  }