@@ -28,22 +28,22 @@ type seleniumGridScaler struct {
2828type seleniumGridScalerMetadata struct {
2929 triggerIndex int
3030
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
4747}
4848
4949type Platform struct {
@@ -173,10 +173,12 @@ func parseCapabilitiesToMap(_capabilities string) (map[string]interface{}, error
173173}
174174
175175func parseSeleniumGridScalerMetadata (config * scalersconfig.ScalerConfig ) (* seleniumGridScalerMetadata , error ) {
176- meta := & seleniumGridScalerMetadata {}
176+ meta := & seleniumGridScalerMetadata {
177+ TargetValue : 1 ,
178+ }
177179
178180 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 )
180182 }
181183
182184 meta .triggerIndex = config .TriggerIndex
@@ -202,19 +204,9 @@ func (s *seleniumGridScaler) GetMetricsAndActivity(ctx context.Context, metricNa
202204 return []external_metrics.ExternalMetricValue {}, false , fmt .Errorf ("error requesting selenium grid endpoint: %w" , err )
203205 }
204206
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 ))
210208
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
218210}
219211
220212func buildSeleniumGridMetricName (meta * seleniumGridScalerMetadata ) string {
0 commit comments