{"id":23286697,"url":"https://github.com/deviceinsight/eventhub-analyzer","last_synced_at":"2025-07-04T01:04:47.221Z","repository":{"id":156118583,"uuid":"632858470","full_name":"deviceinsight/eventhub-analyzer","owner":"deviceinsight","description":"Analyze an Event Hub regarding usage, offsets, etc","archived":false,"fork":false,"pushed_at":"2023-08-02T10:12:21.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-06T15:43:12.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deviceinsight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-26T09:21:52.000Z","updated_at":"2023-04-26T09:22:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"41cddc6b-e65a-4dbb-b7b7-97f694ef862e","html_url":"https://github.com/deviceinsight/eventhub-analyzer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/deviceinsight/eventhub-analyzer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviceinsight%2Feventhub-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviceinsight%2Feventhub-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviceinsight%2Feventhub-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviceinsight%2Feventhub-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deviceinsight","download_url":"https://codeload.github.com/deviceinsight/eventhub-analyzer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deviceinsight%2Feventhub-analyzer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263427299,"owners_count":23464840,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-20T02:14:07.364Z","updated_at":"2025-07-04T01:04:47.179Z","avatar_url":"https://github.com/deviceinsight.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Event Hub Analyzer\n\nEvent Hub Analyzer is a small command line tool that can be used\nto analyze certain aspects of Event Hubs.\n\n## Installation\n\n```\npip install eventhub-analyzer\n```\n\n## Checkpoints per partition\n\nFor every event hub, consumer group, the number of \nevents/sequence numbers between two invocations is retrieved and\nthe throughput per partition is calculated. This can be used to \ndetermine if the load is correctly distributed among partitions.\n\nWhen there are some partition that get little to no throughput while\nothers have large throughput, it is a sign that the partition key\nis not chosen optimally and that you should try to choose a property\nwith a higher cardinality as the partition key.\n\n### Usage\n\n```bash\neventhub-analyzer checkpoints -n CONTAINER_NAME -c CONNECTION_STRING\n```\n\nYou can also specify the settings via environment variables:\n\n```bash\nexport STORAGE_ACCOUNT_CONNECTION_STRING='DefaultEndpointsProtocol=https;AccountName=x;AccountKey=y;EndpointSuffix=core.windows.net'\nexport CONTAINER_NAME='event-hub-offsets'\neventhub-analyzer checkpoints\n```\n\n### Example output\n\n```\nEvent Hub: telemetry, Consumer Group: my-consumer\nEvent Hub   Consumer Group   Partition   Events per second\ntelemetry   my-consumer              0             158.034\ntelemetry   my-consumer              1             203.257\ntelemetry   my-consumer              2             148.103\ntelemetry   my-consumer              3               0.000\ntelemetry   my-consumer              4             201.780\ntelemetry   my-consumer              5             106.081\ntelemetry   my-consumer              6              72.307\ntelemetry   my-consumer              7             160.783\ntelemetry   my-consumer              8             118.351\n```\n\nAs you can see, partition 3 is not getting any events and\nthe number of events is not well distributed overall. There\nmight be some gains possible by choosing a different partition key\n(or by partitioning manually on the client).\n\n### Clearing checkpoints\n\nExample:\n\n```bash\neventhub-analyzer clear-checkpoints --consumer-group redis-timeseries\n```\n\n## Publishing\n\n```\npoetry build\npoetry publish\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviceinsight%2Feventhub-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeviceinsight%2Feventhub-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeviceinsight%2Feventhub-analyzer/lists"}