Skip to content

Commit

Permalink
fix resource-container-monitor no data
Browse files Browse the repository at this point in the history
  • Loading branch information
chengjoey committed Jan 3, 2024
1 parent 4341fb0 commit f0ac914
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 30 deletions.
6 changes: 2 additions & 4 deletions internal/apps/msp/apm/service/common/model/linegraph.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,9 @@ type LineGraphMetaData struct {
Dimension string `json:"dimension,omitempty"`
}

func ToQueryParams(tenantId string, serviceId string, instanceId string) map[string]*structpb.Value {
func ToQueryParams(instanceId string) map[string]*structpb.Value {
queryParams := map[string]*structpb.Value{
"terminus_key": structpb.NewStringValue(tenantId),
"service_id": structpb.NewStringValue(serviceId),
"instance_id": structpb.NewStringValue(instanceId),
"pod_uid": structpb.NewStringValue(instanceId),
}
return queryParams
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,12 @@ type provider struct {
Metric metricpb.MetricServiceServer `autowired:"erda.core.monitor.metric.MetricService"`
}

func (p *provider) getCpuLineGraph(ctx context.Context, startTime, endTime int64, tenantId, instanceId, serviceId string) ([]*model.LineGraphMetaData, error) {
func (p *provider) getCpuLineGraph(ctx context.Context, startTime, endTime int64, instanceId string) ([]*model.LineGraphMetaData, error) {
statement := fmt.Sprintf("SELECT avg(cpu_usage_percent::field),tostring('usage rate') " +
"FROM docker_container_summary " +
"WHERE terminus_key::tag=$terminus_key " +
"AND service_id::tag=$service_id " +
"AND service_instance_id::tag=$instance_id " +
"WHERE pod_uid::tag=$pod_uid " +
"GROUP BY time()")
queryParams := model.ToQueryParams(tenantId, serviceId, instanceId)
queryParams := model.ToQueryParams(instanceId)

request := &metricpb.QueryWithInfluxFormatRequest{
Start: strconv.FormatInt(startTime, 10),
Expand All @@ -84,14 +82,12 @@ func (p *provider) getCpuLineGraph(ctx context.Context, startTime, endTime int64
return metadata, nil
}

func (p *provider) getMemoryLineGraph(ctx context.Context, startTime, endTime int64, tenantId, instanceId, serviceId string) ([]*model.LineGraphMetaData, error) {
func (p *provider) getMemoryLineGraph(ctx context.Context, startTime, endTime int64, instanceId string) ([]*model.LineGraphMetaData, error) {
statement := fmt.Sprintf("SELECT round_float(avg(mem_limit::field), 2),round_float(avg(mem_usage::field), 2) " +
"FROM docker_container_summary " +
"WHERE terminus_key::tag=$terminus_key " +
"AND service_id::tag=$service_id " +
"AND service_instance_id::tag=$instance_id " +
"WHERE pod_uid::tag=$pod_uid " +
"GROUP BY time()")
queryParams := model.ToQueryParams(tenantId, serviceId, instanceId)
queryParams := model.ToQueryParams(instanceId)

request := &metricpb.QueryWithInfluxFormatRequest{
Start: strconv.FormatInt(startTime, 10),
Expand Down Expand Up @@ -125,14 +121,12 @@ func (p *provider) getMemoryLineGraph(ctx context.Context, startTime, endTime in
return metadata, nil
}

func (p *provider) getDiskIoLineGraph(ctx context.Context, startTime, endTime int64, tenantId, instanceId, serviceId string) ([]*model.LineGraphMetaData, error) {
func (p *provider) getDiskIoLineGraph(ctx context.Context, startTime, endTime int64, instanceId string) ([]*model.LineGraphMetaData, error) {
statement := fmt.Sprintf("SELECT round_float(diffps(blk_read_bytes::field), 2),round_float(diffps(blk_write_bytes::field), 2) " +
"FROM docker_container_summary " +
"WHERE terminus_key::tag=$terminus_key " +
"AND service_id::tag=$service_id " +
"AND service_instance_id::tag=$instance_id " +
"WHERE pod_uid::tag=$pod_uid " +
"GROUP BY time()")
queryParams := model.ToQueryParams(tenantId, serviceId, instanceId)
queryParams := model.ToQueryParams(instanceId)

request := &metricpb.QueryWithInfluxFormatRequest{
Start: strconv.FormatInt(startTime, 10),
Expand Down Expand Up @@ -173,14 +167,12 @@ func (p *provider) getDiskIoLineGraph(ctx context.Context, startTime, endTime in
return metadata, nil
}

func (p *provider) getNetworkLineGraph(ctx context.Context, startTime, endTime int64, tenantId, instanceId, serviceId string) ([]*model.LineGraphMetaData, error) {
func (p *provider) getNetworkLineGraph(ctx context.Context, startTime, endTime int64, instanceId string) ([]*model.LineGraphMetaData, error) {
statement := fmt.Sprintf("SELECT round_float(diffps(rx_bytes::field), 2),round_float(diffps(tx_bytes::field), 2) " +
"FROM docker_container_summary " +
"WHERE terminus_key::tag=$terminus_key " +
"AND service_id::tag=$service_id " +
"AND service_instance_id::tag=$instance_id " +
"WHERE pod_uid::tag=$pod_uid " +
"GROUP BY time()")
queryParams := model.ToQueryParams(tenantId, serviceId, instanceId)
queryParams := model.ToQueryParams(instanceId)
request := &metricpb.QueryWithInfluxFormatRequest{
Start: strconv.FormatInt(startTime, 10),
End: strconv.FormatInt(endTime, 10),
Expand Down Expand Up @@ -224,37 +216,35 @@ func (p *provider) RegisterInitializeOp() (opFunc cptype.OperationFunc) {
return func(sdk *cptype.SDK) cptype.IStdStructuredPtr {
startTime := p.ServiceInParams.InParamsPtr.StartTime
endTime := p.ServiceInParams.InParamsPtr.EndTime
tenantId := p.ServiceInParams.InParamsPtr.TenantId
serviceId := p.ServiceInParams.InParamsPtr.ServiceId
instanceId := p.ServiceInParams.InParamsPtr.InstanceId

ctx := apis.GetContext(sdk.Ctx, func(header *transport.Header) {
})

switch sdk.Comp.Name {
case cpu:
graph, err := p.getCpuLineGraph(ctx, startTime, endTime, tenantId, instanceId, serviceId)
graph, err := p.getCpuLineGraph(ctx, startTime, endTime, instanceId)
if err != nil {
return nil
}
line := model.HandleLineGraphMetaData(sdk.Lang, p.I18n, cpu, structure.String, "rateUnit", graph)
return &impl.StdStructuredPtr{StdDataPtr: line}
case memory:
graph, err := p.getMemoryLineGraph(ctx, startTime, endTime, tenantId, instanceId, serviceId)
graph, err := p.getMemoryLineGraph(ctx, startTime, endTime, instanceId)
if err != nil {
return nil
}
line := model.HandleLineGraphMetaData(sdk.Lang, p.I18n, memory, structure.Storage, structure.KB, graph)
return &impl.StdStructuredPtr{StdDataPtr: line}
case diskIO:
graph, err := p.getDiskIoLineGraph(ctx, startTime, endTime, tenantId, instanceId, serviceId)
graph, err := p.getDiskIoLineGraph(ctx, startTime, endTime, instanceId)
if err != nil {
return nil
}
line := model.HandleLineGraphMetaData(sdk.Lang, p.I18n, diskIO, structure.TrafficRate, structure.KBSlashS, graph)
return &impl.StdStructuredPtr{StdDataPtr: line}
case network:
graph, err := p.getNetworkLineGraph(ctx, startTime, endTime, tenantId, instanceId, serviceId)
graph, err := p.getNetworkLineGraph(ctx, startTime, endTime, instanceId)
if err != nil {
return nil
}
Expand Down

0 comments on commit f0ac914

Please sign in to comment.