Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CultureNotFoundException in SchedulingExtensions.GenerateResourceScrapingJobName #2089

Closed
tomkerkhove opened this issue Aug 2, 2022 · 3 comments · Fixed by #2118
Closed
Assignees
Labels
bug Something isn't working

Comments

@tomkerkhove
Copy link
Owner

Report

Exception happens during startup on https://dev.azure.com/tomkerkhove/Promitor/_build/results?buildId=8562&view=logs&j=30190cae-7ed8-53e7-ee11-9246d6a79584&t=f881dc73-f627-54ba-40b1-e5e0d0a590fa&l=33

fail: Promitor.Agents.Scraper.Startup[0]
      Failure to create job name for scraping resources for list of metrics which includes availabilityResults/availabilityPercentage.
      System.Globalization.CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode. See https://aka.ms/GlobalizationInvariantMode for more information. (Parameter 'name')
      en-US is an invalid culture identifier.
         at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
         at System.Globalization.CultureInfo..ctor(String name)
         at CronExpressionDescriptor.ExpressionParser..ctor(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(DescriptionTypeEnum type)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression)
         at Microsoft.Extensions.DependencyInjection.SchedulingExtensions.GenerateResourceScrapingJobName(MetricsDeclaration metricsDeclaration, ILogger`1 logger) in /src/Promitor.Agents.Scraper/SchedulingExtensions.cs:line 133
[19:29:02 INF] Starting validation of Promitor setup

Expected Behavior

All metrics are being scraped.

Actual Behavior

fail: Promitor.Agents.Scraper.Startup[0]
      Failure to create job name for scraping resources for list of metrics which includes availabilityResults/availabilityPercentage.
      System.Globalization.CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode. See https://aka.ms/GlobalizationInvariantMode for more information. (Parameter 'name')
      en-US is an invalid culture identifier.
         at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
         at System.Globalization.CultureInfo..ctor(String name)
         at CronExpressionDescriptor.ExpressionParser..ctor(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(DescriptionTypeEnum type)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression)
         at Microsoft.Extensions.DependencyInjection.SchedulingExtensions.GenerateResourceScrapingJobName(MetricsDeclaration metricsDeclaration, ILogger`1 logger) in /src/Promitor.Agents.Scraper/SchedulingExtensions.cs:line 133
[19:29:02 INF] Starting validation of Promitor setup

Steps to Reproduce the Problem

Run CI

Component

Scraper

Version

master-branch

Configuration

Configuration:

# Add your scraping configuration here

Logs

example

Platform

No response

Contact Details

No response

@notanops
Copy link

notanops commented Aug 26, 2022

Hi,

It appears that the metric allusedmemorypercentage also triggers System.Globalization.CultureNotFoundException

Metric Definition:

  - name: azure_redis_cache_memory_percentage
    description: "The percentage of cache memory used for key/value pairs."
    resourceType: RedisCache
    scraping:
      schedule: "0 */2 * ? * *"
    azureMetricConfiguration:
      metricName: allusedmemorypercentage
      aggregation:
        type: Maximum
        interval: 00:01:00

Logs:

fail: Promitor.Agents.Scraper.Startup[0]
      Failure to create job name for scraping resources for list of metrics which includes allusedmemorypercentage.
      System.Globalization.CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode. See https://aka.ms/GlobalizationInvariantMode for more information. (Parameter 'name')
      en-US is an invalid culture identifier.
         at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
         at System.Globalization.CultureInfo..ctor(String name)
         at CronExpressionDescriptor.ExpressionParser..ctor(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(DescriptionTypeEnum type)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression, Options options)
         at CronExpressionDescriptor.ExpressionDescriptor.GetDescription(String expression)
         at Microsoft.Extensions.DependencyInjection.SchedulingExtensions.GenerateResourceScrapingJobName(MetricsDeclaration metricsDeclaration, ILogger`1 logger) in /src/Promitor.Agents.Scraper/SchedulingExtensions.cs:line 133
[13:16:29 INF] Starting validation of Promitor setup

After some tests, none of the metrics are working (count, total, maximum, percentage or not), they all raise the same exception for Azure Redis Cache.

Hoping this helps you.

Update 10 min later : Same error from PostgreSQL metrics. 😞

@tomkerkhove
Copy link
Owner Author

🤦

I'll pick this up asap

tomkerkhove added a commit that referenced this issue Sep 2, 2022
@tomkerkhove
Copy link
Owner Author

This is available in Scraper v2.8.0 - https://github.com/tomkerkhove/promitor/releases/tag/Scraper-v2.8.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants