Skip to content

Conversation

LarryOsterman
Copy link
Member

This PR adds the start of performance test infrastructure for the Rust SDK.

This support is not complete, but it does provide a mechanism to measure the performance of SDK client operations.

It also defines a performance test for the KeyVault get_secrets API and the Storage Blobs list_blobs API which match the tests which exist for the C++ SDK.

@github-actions github-actions bot added Azure.Core The azure_core crate KeyVault Key Vault Storage Storage Service (Queues, Blobs, Files) labels Oct 3, 2025
@LarryOsterman LarryOsterman force-pushed the larryo/add_perf_tests branch from 2398a68 to 90fb660 Compare October 3, 2025 22:17
@LarryOsterman LarryOsterman marked this pull request as ready for review October 9, 2025 21:43
@LarryOsterman LarryOsterman requested a review from heaths as a code owner October 9, 2025 21:43
@Copilot Copilot AI review requested due to automatic review settings October 9, 2025 21:43
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR introduces initial performance test infrastructure for the Rust SDK, providing mechanisms to measure SDK client operation performance and defining performance tests for KeyVault secrets and Storage blob operations that match existing C++ SDK tests.

  • Adds core performance testing framework with PerfRunner and PerfTest trait
  • Implements performance tests for KeyVault get_secret and Storage list_blobs operations
  • Creates supporting pipeline configuration files for automated performance testing

Reviewed Changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
sdk/core/azure_core_test/src/perf/mod.rs Core performance testing framework with runner, test traits, and configuration
sdk/core/azure_core_test/src/perf/framework_tests.rs Unit tests for the performance test framework
sdk/core/azure_core_test/src/perf/config_tests.rs Configuration parsing and validation tests
sdk/keyvault/azure_security_keyvault_secrets/perf/get_secret.rs KeyVault get_secret performance test implementation
sdk/storage/azure_storage_blob/perf/list_blob_test.rs Storage list_blobs performance test implementation
sdk/storage/azure_storage_blob/perf/perf_tests.rs Storage performance test runner entry point
sdk/core/azure_core_test/src/recording.rs Updated to use OnceLock instead of deprecated OnceCell
Various Cargo.toml files Added performance test configurations and dependencies

Copy link
Member

@heaths heaths left a comment

Choose a reason for hiding this comment

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

A great start! Mostly just nits and nothing I'd say is blocking, but could use a little polish before we call it a wrap (for now).

Copy link

github-actions bot commented Oct 9, 2025

API Change Check

APIView identified API level changes in this PR and created the following API reviews

azure_core

Copy link
Member

@heaths heaths left a comment

Choose a reason for hiding this comment

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

2 nits, but you could merge and get those in the next PR if you want to get this in. Looks great!

@LarryOsterman LarryOsterman merged commit 43c6f25 into Azure:main Oct 10, 2025
17 checks passed
@github-project-automation github-project-automation bot moved this from Untriaged to Done in Azure SDK for Key Vault Oct 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Azure.Core The azure_core crate KeyVault Key Vault Storage Storage Service (Queues, Blobs, Files)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants