@@ -107,10 +107,9 @@ func NewQuerier(groupID int, target, prNumber string, qg QueryGroup) *Querier {
107
107
start := durationSeconds (qg .Start )
108
108
end := durationSeconds (qg .End )
109
109
110
- nodePort := 30198
111
- url := fmt .Sprintf ("http://%s:%d/%s/prometheus-%s/api/v1/query" , domainName , nodePort , prNumber , target )
110
+ url := fmt .Sprintf ("http://%s/%s/prometheus-%s/api/v1/query" , domainName , prNumber , target )
112
111
if qtype == "range" {
113
- url = fmt .Sprintf ("http://%s:%d /%s/prometheus-%s/api/v1/query_range" , domainName , nodePort , prNumber , target )
112
+ url = fmt .Sprintf ("http://%s/%s/prometheus-%s/api/v1/query_range" , domainName , prNumber , target )
114
113
}
115
114
116
115
return & Querier {
@@ -137,13 +136,13 @@ func loadKeyConfig() (*KeyConfig, error) {
137
136
138
137
data , err := os .ReadFile (filePath )
139
138
if err != nil {
140
- return nil , fmt .Errorf ("error reading file: %v " , err )
139
+ return nil , fmt .Errorf ("error reading file: %w " , err )
141
140
}
142
141
143
142
var keyConfig KeyConfig
144
143
err = yaml .Unmarshal (data , & keyConfig )
145
144
if err != nil {
146
- return nil , fmt .Errorf ("error parsing YAML: %v " , err )
145
+ return nil , fmt .Errorf ("error parsing YAML: %w " , err )
147
146
}
148
147
149
148
return & keyConfig , nil
@@ -154,12 +153,16 @@ func (q *Querier) run(wg *sync.WaitGroup) {
154
153
fmt .Printf ("Running querier %s %s for %s\n " , q .target , q .name , q .url )
155
154
time .Sleep (20 * time .Second )
156
155
156
+ keyConfig , err := loadKeyConfig ()
157
+
157
158
for {
158
159
start := time .Now ()
159
160
160
161
for _ , query := range q .queries {
161
- q .query (query .Expr , "current" )
162
- q .query (query .Expr , "absolute" )
162
+ q .query (query .Expr , "current" , nil )
163
+ if err == nil {
164
+ q .query (query .Expr , "absolute" , keyConfig )
165
+ }
163
166
}
164
167
165
168
wait := q .interval - time .Since (start )
@@ -169,30 +172,29 @@ func (q *Querier) run(wg *sync.WaitGroup) {
169
172
}
170
173
}
171
174
172
- func (q * Querier ) query (expr string , timeMode string ) {
175
+ func (q * Querier ) query (expr string , timeMode string , keyConfig * KeyConfig ) {
173
176
queryCount .WithLabelValues (q .target , q .name , expr , q .qtype ).Inc ()
174
177
start := time .Now ()
178
+
175
179
req , err := http .NewRequest ("GET" , q .url , nil )
176
180
if err != nil {
177
181
log .Printf ("Error creating request: %v" , err )
178
182
queryFailCount .WithLabelValues (q .target , q .name , expr , q .qtype ).Inc ()
179
183
return
180
184
}
181
- keyConfig , err := loadKeyConfig ()
182
- if err != nil {
183
- timeMode = "current"
184
- }
185
+
185
186
qParams := req .URL .Query ()
186
187
qParams .Set ("query" , expr )
187
188
if q .qtype == "range" {
188
189
if timeMode == "current" {
190
+ fmt .Println ("range , current blocks" )
189
191
qParams .Set ("start" , fmt .Sprintf ("%d" , int64 (time .Now ().Add (- q .start ).Unix ())))
190
192
qParams .Set ("end" , fmt .Sprintf ("%d" , int64 (time .Now ().Add (- q .end ).Unix ())))
191
193
qParams .Set ("step" , q .step )
192
194
} else {
193
- startTime := time . Unix ( 0 , keyConfig . MinTime * int64 ( time . Millisecond ) )
195
+ fmt . Println ( "range , absolute blocks" )
194
196
endTime := time .Unix (0 , keyConfig .MaxTime * int64 (time .Millisecond ))
195
- qParams .Set ("start" , fmt .Sprintf ("%d" , int64 (startTime .Add (- q .start ).Unix ())))
197
+ qParams .Set ("start" , fmt .Sprintf ("%d" , int64 (endTime .Add (- q .start ).Unix ())))
196
198
qParams .Set ("end" , fmt .Sprintf ("%d" , int64 (endTime .Add (- q .end ).Unix ())))
197
199
qParams .Set ("step" , q .step )
198
200
}
0 commit comments