@@ -28,22 +28,22 @@ type seleniumGridScaler struct {
28
28
type seleniumGridScalerMetadata struct {
29
29
triggerIndex int
30
30
31
- URL string `keda:"name=url, order=authParams;triggerMetadata;resolvedEnv "`
32
- AuthType string `keda:"name=authType, order=authParams;triggerMetadata ;resolvedEnv, optional"`
33
- Username string `keda:"name=username, order=authParams;triggerMetadata ;resolvedEnv, optional"`
34
- Password string `keda:"name=password, order=authParams;triggerMetadata ;resolvedEnv, optional"`
35
- AccessToken string `keda:"name=accessToken, order=authParams;triggerMetadata ;resolvedEnv, optional"`
36
- BrowserName string `keda:"name=browserName, order=triggerMetadata, optional"`
37
- SessionBrowserName string `keda:"name=sessionBrowserName, order=triggerMetadata, optional"`
38
- BrowserVersion string `keda:"name=browserVersion, order=triggerMetadata, optional"`
39
- PlatformName string `keda:"name=platformName, order=triggerMetadata, optional"`
40
- NodeMaxSessions int64 `keda:"name=nodeMaxSessions , order=triggerMetadata, default=1 "`
41
- EnableManagedDownloads bool `keda:"name=enableManagedDownloads , order=triggerMetadata, default=true "`
42
- Capabilities string `keda:"name=capabilities , order=triggerMetadata, optional "`
43
- OverProvisionRatio float64 `keda:"name=overProvisionRatio , order=triggerMetadata, optional "`
44
- UnsafeSsl bool `keda:"name=unsafeSsl, order=triggerMetadata, optional"`
45
- TargetValue int64 `keda:"name=targetValue, order=triggerMetadata, default=1"`
46
- ActivationThreshold float64 `keda:"name=activationThreshold, order=triggerMetadata, optional"`
31
+ URL string `keda:"name=url, order=authParams;triggerMetadata"`
32
+ AuthType string `keda:"name=authType, order=authParams;resolvedEnv, optional"`
33
+ Username string `keda:"name=username, order=authParams;resolvedEnv, optional"`
34
+ Password string `keda:"name=password, order=authParams;resolvedEnv, optional"`
35
+ AccessToken string `keda:"name=accessToken, order=authParams;resolvedEnv, optional"`
36
+ BrowserName string `keda:"name=browserName, order=triggerMetadata, optional"`
37
+ SessionBrowserName string `keda:"name=sessionBrowserName, order=triggerMetadata, optional"`
38
+ BrowserVersion string `keda:"name=browserVersion, order=triggerMetadata, optional"`
39
+ PlatformName string `keda:"name=platformName, order=triggerMetadata, optional"`
40
+ ActivationThreshold int64 `keda:"name=activationThreshold , order=triggerMetadata, optional "`
41
+ UnsafeSsl bool `keda:"name=unsafeSsl , order=triggerMetadata, default=false "`
42
+ NodeMaxSessions int64 `keda:"name=nodeMaxSessions , order=triggerMetadata, default=1 "`
43
+ EnableManagedDownloads bool `keda:"name=enableManagedDownloads , order=triggerMetadata, default=true "`
44
+ Capabilities string `keda:"name=capabilities, order=triggerMetadata, optional"`
45
+
46
+ TargetValue int64
47
47
}
48
48
49
49
type Platform struct {
@@ -173,10 +173,12 @@ func parseCapabilitiesToMap(_capabilities string) (map[string]interface{}, error
173
173
}
174
174
175
175
func parseSeleniumGridScalerMetadata (config * scalersconfig.ScalerConfig ) (* seleniumGridScalerMetadata , error ) {
176
- meta := & seleniumGridScalerMetadata {}
176
+ meta := & seleniumGridScalerMetadata {
177
+ TargetValue : 1 ,
178
+ }
177
179
178
180
if err := config .TypedConfig (meta ); err != nil {
179
- return nil , fmt .Errorf ("error parsing Selenium Grid GraphQL response : %w" , err )
181
+ return nil , fmt .Errorf ("error parsing prometheus metadata : %w" , err )
180
182
}
181
183
182
184
meta .triggerIndex = config .TriggerIndex
@@ -202,19 +204,9 @@ func (s *seleniumGridScaler) GetMetricsAndActivity(ctx context.Context, metricNa
202
204
return []external_metrics.ExternalMetricValue {}, false , fmt .Errorf ("error requesting selenium grid endpoint: %w" , err )
203
205
}
204
206
205
- scaledCount := getScaledCount (newRequestNodes , onGoingSessions , s .metadata .OverProvisionRatio )
206
- metric := GenerateMetricInMili (metricName , scaledCount )
207
-
208
- return []external_metrics.ExternalMetricValue {metric }, scaledCount > s .metadata .ActivationThreshold , nil
209
- }
207
+ metric := GenerateMetricInMili (metricName , float64 (newRequestNodes + onGoingSessions ))
210
208
211
- func getScaledCount (newRequestNodes int64 , onGoingSession int64 , overProvisionRatio float64 ) float64 {
212
- scaledCount := float64 (newRequestNodes + onGoingSession )
213
- if overProvisionRatio > 0 {
214
- // Apply over-provision ratio to the scaled count
215
- scaledCount += scaledCount * overProvisionRatio
216
- }
217
- return scaledCount
209
+ return []external_metrics.ExternalMetricValue {metric }, (newRequestNodes + onGoingSessions ) > s .metadata .ActivationThreshold , nil
218
210
}
219
211
220
212
func buildSeleniumGridMetricName (meta * seleniumGridScalerMetadata ) string {
0 commit comments