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

Provide scraper for Azure Storage Queues #402

Merged
merged 17 commits into from
Mar 20, 2019

Conversation

michaelkruglos
Copy link
Contributor

Implements #64

Proposed Changes

  • Add Azure Queue scraper

@tomkerkhove tomkerkhove changed the title Azure queue Provide scraper for Azure Storage Queues Mar 15, 2019
Copy link
Owner

@tomkerkhove tomkerkhove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your contribution! We are not there yet, but we are close!

Some remarks I have:

  • You should not use the name "Azure Queue" given storage queues are not the only queues in Azure. Please use "Azure Storage Queue" instead
  • It looks like you are pulling the metrics from the Azure Storage Management SDK but we prefer to use Azure Monitor REST API for this. Can you please align this? Or did you try this? The benefit of plugging into Monitor is that we get more metrics than just queues

Here is how you can determine the resource id - https://docs.microsoft.com/en-us/azure/storage/common/storage-metrics-in-azure-monitor#understanding-resource-id-for-services-in-azure-storage

@michaelkruglos
Copy link
Contributor Author

Unfortunately Azure Monitor REST API doesn't provide metrics per storage queue, only per account. That's why I used Azure Storage Management SDK.

@tomkerkhove
Copy link
Owner

Unfortunately, you are right, thanks for letting me know! I will review the current PR asap!

Copy link
Owner

@tomkerkhove tomkerkhove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes - We are almost there!

  • I would leave the duration metric out for now and stick to MessageCount (rather than Size)
  • Would love to rename our Promitor.Integrations.AzureStorageQueue project to Promitor.Integrations.AzureStorage as it goes beyond queues

@tomkerkhove
Copy link
Owner

Actually I've noticed that we're now using AzureStorageQueue resource type, please use StorageQueue instead.

Copy link
Owner

@tomkerkhove tomkerkhove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great, thanks!

Just some final remarks:

  1. Remove the Duration metric for now as we'll tackle this later
  2. Don't forget to rename our Promitor.Integrations.AzureStorageQueue project to Promitor.Integrations.AzureStorage as requested before given this goes beyond queues
  3. Fix the open comments

Other than that we are ready to proceed and merge this - Thank you for your contribution!
If I need to jump in and help, just let me know!

@tomkerkhove
Copy link
Owner

The reason why we'll skip the Duration metric is to keep this PR nice and clean and track a new issue for that metric.

The current duration implementation is also not stable yet given it reports the metric as last message while we are basing us on the first message, not the last.

Don't hesitate to create a new issue for this and provide the scenario you're trying to tackle and how you'd expect it to work!

Copy link
Owner

@tomkerkhove tomkerkhove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great - Thanks for your contribution!

samples/promitor-sample.yaml Show resolved Hide resolved
@tomkerkhove tomkerkhove merged commit 8a3c68c into tomkerkhove:master Mar 20, 2019
@michaelkruglos michaelkruglos deleted the azure-queue branch March 26, 2019 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants