Skip to content
Open
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
1 change: 1 addition & 0 deletions deploy/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ services:
- AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN
- AWS_DEFAULT_REGION=$AWS_REGION
# for debug
# ports:
# - "8888:80"
Expand Down
29 changes: 25 additions & 4 deletions src/gprofiler_indexer/callstacks.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,14 @@ type FileInfo struct {
} `json:"run_arguments"`
} `json:"metadata"`
Metrics struct {
CPUAvg float64 `json:"cpu_avg"`
MemoryAvg float64 `json:"mem_avg"`
CPUAvg float64 `json:"cpu_avg"`
MemoryAvg float64 `json:"mem_avg"`
CPUFrequency *float64 `json:"cpu_freq,omitempty"`
CPUCPI *float64 `json:"cpu_cpi,omitempty"`
CPUTMAFEBound *float64 `json:"cpu_tma_fe_bound,omitempty"`
CPUTMABEBound *float64 `json:"cpu_tma_be_bound,omitempty"`
CPUTMABadSpec *float64 `json:"cpu_tma_bad_spec,omitempty"`
CPUTMARetiring *float64 `json:"cpu_tma_retiring,omitempty"`
} `json:"metrics"`
ApplicationMetadataEnabled bool `json:"application_metadata_enabled"`
}
Expand Down Expand Up @@ -204,7 +210,14 @@ func (pw *ProfilesWriter) writeStacks(weights FrameValuesMap, frames map[string]
}

func (pw *ProfilesWriter) writeMetrics(serviceId uint32, instanceType string,
hostname string, timestamp time.Time, cpuAverageUsedPercent float64, memoryAverageUsedPercent float64) {
hostname string, timestamp time.Time, cpuAverageUsedPercent float64, memoryAverageUsedPercent float64,
cpuFrequency *float64,
cpuCPI *float64,
cpuTMAFrontEndBound *float64,
cpuTMABackendBound *float64,
cpuTMABadSpec *float64,
cpuTMARetiring *float64,
) {

metricRecord := MetricRecord{
Timestamp: timestamp,
Expand All @@ -213,6 +226,12 @@ func (pw *ProfilesWriter) writeMetrics(serviceId uint32, instanceType string,
HostName: hostname,
CPUAverageUsedPercent: cpuAverageUsedPercent,
MemoryAverageUsedPercent: memoryAverageUsedPercent,
CPUFrequency: cpuFrequency,
CPUCPI: cpuCPI,
CPUTMAFrontEndBound: cpuTMAFrontEndBound,
CPUTMABackendBound: cpuTMABackendBound,
CPUTMABadSpec: cpuTMABadSpec,
CPUTMARetiring: cpuTMARetiring,
}
pw.metricsRecords <- metricRecord
}
Expand Down Expand Up @@ -267,7 +286,9 @@ func (pw *ProfilesWriter) ParseStackFrameFile(serviceId int, timestamp time.Time

if fileInfo.Metrics.CPUAvg != 0 && fileInfo.Metrics.MemoryAvg != 0 {
pw.writeMetrics(uint32(serviceId), fileInfo.Metadata.CloudInfo.InstanceType,
fileInfo.Metadata.Hostname, timestamp, fileInfo.Metrics.CPUAvg, fileInfo.Metrics.MemoryAvg)
fileInfo.Metadata.Hostname, timestamp, fileInfo.Metrics.CPUAvg, fileInfo.Metrics.MemoryAvg,
fileInfo.Metrics.CPUFrequency, fileInfo.Metrics.CPUCPI, fileInfo.Metrics.CPUTMAFEBound,
fileInfo.Metrics.CPUTMABEBound, fileInfo.Metrics.CPUTMABadSpec, fileInfo.Metrics.CPUTMARetiring)
}

return nil
Expand Down
15 changes: 14 additions & 1 deletion src/gprofiler_indexer/clickhouse.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ import (
"context"
"crypto/tls"
"fmt"
"github.com/ClickHouse/clickhouse-go/v2"
"sync"
"time"

"github.com/ClickHouse/clickhouse-go/v2"
)

type StackRecord struct {
Expand All @@ -47,6 +48,12 @@ type MetricRecord struct {
HostName string
CPUAverageUsedPercent float64
MemoryAverageUsedPercent float64
CPUFrequency *float64
CPUCPI *float64
CPUTMAFrontEndBound *float64
CPUTMABackendBound *float64
CPUTMABadSpec *float64
CPUTMARetiring *float64
}

type RecordsAttributesUnpack interface {
Expand All @@ -61,6 +68,12 @@ func (mr MetricRecord) getDbAttributes() []interface{} {
mr.HostName,
mr.CPUAverageUsedPercent,
mr.MemoryAverageUsedPercent,
mr.CPUFrequency,
mr.CPUCPI,
mr.CPUTMAFrontEndBound,
mr.CPUTMABackendBound,
mr.CPUTMABadSpec,
mr.CPUTMARetiring,
}
return dbAttributes
}
Expand Down
Loading