mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-10-31 16:05:06 +01:00 
			
		
		
		
	Merge pull request #323 from ClusterCockpit/add_histogram_bin_select
Add histogram bin select
This commit is contained in:
		| @@ -2,7 +2,7 @@ package graph | ||||
|  | ||||
| // This file will be automatically regenerated based on the schema, any resolver implementations | ||||
| // will be copied through when generating and any unknown code will be moved to the end. | ||||
| // Code generated by github.com/99designs/gqlgen version v0.17.49 | ||||
| // Code generated by github.com/99designs/gqlgen version v0.17.57 | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| @@ -354,10 +354,14 @@ func (r *queryResolver) Jobs(ctx context.Context, filter []*model.JobFilter, pag | ||||
| } | ||||
|  | ||||
| // JobsStatistics is the resolver for the jobsStatistics field. | ||||
| func (r *queryResolver) JobsStatistics(ctx context.Context, filter []*model.JobFilter, metrics []string, page *model.PageRequest, sortBy *model.SortByAggregate, groupBy *model.Aggregate) ([]*model.JobsStatistics, error) { | ||||
| func (r *queryResolver) JobsStatistics(ctx context.Context, filter []*model.JobFilter, metrics []string, page *model.PageRequest, sortBy *model.SortByAggregate, groupBy *model.Aggregate, numDurationBins *string, numMetricBins *int) ([]*model.JobsStatistics, error) { | ||||
| 	var err error | ||||
| 	var stats []*model.JobsStatistics | ||||
|  | ||||
| 	// Top Level Defaults | ||||
| 	var defaultDurationBins string = "1h" | ||||
| 	var defaultMetricBins int = 10 | ||||
|  | ||||
| 	if requireField(ctx, "totalJobs") || requireField(ctx, "totalWalltime") || requireField(ctx, "totalNodes") || requireField(ctx, "totalCores") || | ||||
| 		requireField(ctx, "totalAccs") || requireField(ctx, "totalNodeHours") || requireField(ctx, "totalCoreHours") || requireField(ctx, "totalAccHours") { | ||||
| 		if groupBy == nil { | ||||
| @@ -391,8 +395,13 @@ func (r *queryResolver) JobsStatistics(ctx context.Context, filter []*model.JobF | ||||
| 	} | ||||
|  | ||||
| 	if requireField(ctx, "histDuration") || requireField(ctx, "histNumNodes") || requireField(ctx, "histNumCores") || requireField(ctx, "histNumAccs") { | ||||
|  | ||||
| 		if numDurationBins == nil { | ||||
| 			numDurationBins = &defaultDurationBins | ||||
| 		} | ||||
|  | ||||
| 		if groupBy == nil { | ||||
| 			stats[0], err = r.Repo.AddHistograms(ctx, filter, stats[0]) | ||||
| 			stats[0], err = r.Repo.AddHistograms(ctx, filter, stats[0], numDurationBins) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| @@ -402,8 +411,13 @@ func (r *queryResolver) JobsStatistics(ctx context.Context, filter []*model.JobF | ||||
| 	} | ||||
|  | ||||
| 	if requireField(ctx, "histMetrics") { | ||||
|  | ||||
| 		if numMetricBins == nil { | ||||
| 			numMetricBins = &defaultMetricBins | ||||
| 		} | ||||
|  | ||||
| 		if groupBy == nil { | ||||
| 			stats[0], err = r.Repo.AddMetricHistograms(ctx, filter, metrics, stats[0]) | ||||
| 			stats[0], err = r.Repo.AddMetricHistograms(ctx, filter, metrics, stats[0], numMetricBins) | ||||
| 			if err != nil { | ||||
| 				return nil, err | ||||
| 			} | ||||
| @@ -490,11 +504,9 @@ func (r *Resolver) Query() generated.QueryResolver { return &queryResolver{r} } | ||||
| // SubCluster returns generated.SubClusterResolver implementation. | ||||
| func (r *Resolver) SubCluster() generated.SubClusterResolver { return &subClusterResolver{r} } | ||||
|  | ||||
| type ( | ||||
| 	clusterResolver     struct{ *Resolver } | ||||
| 	jobResolver         struct{ *Resolver } | ||||
| 	metricValueResolver struct{ *Resolver } | ||||
| 	mutationResolver    struct{ *Resolver } | ||||
| 	queryResolver       struct{ *Resolver } | ||||
| 	subClusterResolver  struct{ *Resolver } | ||||
| ) | ||||
| type clusterResolver struct{ *Resolver } | ||||
| type jobResolver struct{ *Resolver } | ||||
| type metricValueResolver struct{ *Resolver } | ||||
| type mutationResolver struct{ *Resolver } | ||||
| type queryResolver struct{ *Resolver } | ||||
| type subClusterResolver struct{ *Resolver } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user