[specs] add missing ARM scenarios#4632
Conversation
|
All changed packages have been documented.
Show changes
|
⚡ Benchmark Results
Full details – comparing
|
| Metric | Baseline | Current | Change |
|---|---|---|---|
| total | 🟡 307.8ms | 🔴 585.6ms | +90.3% 🔴 |
| loader | 🟢 98.5ms | 🟢 160.4ms | +62.8% 🔴 |
| resolver | 🟢 12.0ms | 🟢 22.1ms | +84.0% 🔴 |
| checker | 🟢 101.5ms | 🟢 186.5ms | +83.8% 🔴 |
| validation | 🟢 24.4ms | 🟢 42.6ms | +74.7% 🔴 |
| ↳ validation/@azure-tools/typespec-azure-core | 🟢 3.4ms | 🟢 6.4ms | +88.6% 🔴 |
| ↳ validation/@typespec/http | 🟢 2.8ms | 🟢 5.1ms | +81.0% 🔴 |
| ↳ validation/@typespec/rest | 🟢 0.4ms | 🟢 0.6ms | +83.1% |
| ↳ validation/@typespec/versioning | 🟡 16.6ms | 🔴 28.3ms | +70.5% 🔴 |
| ↳ validation/compiler | 🟢 1.0ms | 🟢 1.7ms | +63.6% |
| linter | 🟢 70.5ms | 🟢 132.2ms | +87.6% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/auth-required | 🟢 0.0ms | 🟢 0.0ms | +81.4% |
| ↳ linter/@azure-tools/typespec-azure-core/bad-record-type | 🟢 0.1ms | 🟢 0.2ms | +67.1% |
| ↳ linter/@azure-tools/typespec-azure-core/byos | 🟢 3.1ms | 🟢 5.7ms | +84.7% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/casing-style | 🟢 0.3ms | 🟢 0.7ms | +88.5% |
| ↳ linter/@azure-tools/typespec-azure-core/composition-over-inheritance | 🟢 0.0ms | 🟢 0.1ms | +48.5% |
| ↳ linter/@azure-tools/typespec-azure-core/documentation-required | 🟢 0.5ms | 🟢 0.9ms | +79.0% |
| ↳ linter/@azure-tools/typespec-azure-core/friendly-name | 🟢 0.3ms | 🟢 0.6ms | +84.1% |
| ↳ linter/@azure-tools/typespec-azure-core/key-visibility-required | 🟢 0.1ms | 🟢 0.2ms | +95.6% |
| ↳ linter/@azure-tools/typespec-azure-core/known-encoding | 🟢 0.2ms | 🟢 0.3ms | +78.6% |
| ↳ linter/@azure-tools/typespec-azure-core/long-running-polling-operation-required | 🟢 0.1ms | 🟢 0.3ms | +102.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-case-mismatch | 🟢 0.1ms | 🟢 0.3ms | +85.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-closed-literal-union | 🟢 0.1ms | 🟢 0.3ms | +97.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-enum | 🟢 0.0ms | 🟢 0.0ms | +48.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-error-status-codes | 🟢 0.1ms | 🟢 0.1ms | +86.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-explicit-routes-resource-ops | 🟢 0.1ms | 🟢 0.1ms | +99.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-format | 🟢 0.3ms | 🟢 0.6ms | +86.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-generic-numeric | 🟢 0.3ms | 🟢 0.5ms | +70.6% |
| ↳ linter/@azure-tools/typespec-azure-core/no-header-explode | 🟢 9.2ms | 🟡 18.3ms | +98.1% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/no-legacy-usage | 🟢 0.6ms | 🟢 1.1ms | +82.6% |
| ↳ linter/@azure-tools/typespec-azure-core/no-multiple-discriminator | 🟢 0.0ms | 🟢 0.1ms | +99.0% |
| ↳ linter/@azure-tools/typespec-azure-core/no-nullable | 🟢 0.1ms | 🟢 0.3ms | +95.7% |
| ↳ linter/@azure-tools/typespec-azure-core/no-offsetdatetime | 🟢 0.7ms | 🟢 1.2ms | +70.5% |
| ↳ linter/@azure-tools/typespec-azure-core/no-openapi | 🟢 1.2ms | 🟢 2.1ms | +79.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-private-usage | 🟢 1.0ms | 🟢 2.0ms | +89.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-query-explode | 🟡 10.5ms | 🟡 18.8ms | +79.3% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/no-response-body | 🟡 13.3ms | 🔴 24.7ms | +85.9% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/no-rest-library-interfaces | 🟢 0.0ms | 🟢 0.0ms | +71.1% |
| ↳ linter/@azure-tools/typespec-azure-core/no-route-parameter-name-mismatch | 🟢 2.3ms | 🟢 4.6ms | +95.7% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/no-rpc-path-params | 🟢 0.1ms | 🟢 0.2ms | +107.6% |
| ↳ linter/@azure-tools/typespec-azure-core/no-string-discriminator | 🟢 0.0ms | 🟢 0.0ms | +107.2% |
| ↳ linter/@azure-tools/typespec-azure-core/no-unknown | 🟢 0.1ms | 🟢 0.2ms | +99.3% |
| ↳ linter/@azure-tools/typespec-azure-core/no-unnamed-union | 🟢 0.2ms | 🟢 0.4ms | +96.8% |
| ↳ linter/@azure-tools/typespec-azure-core/operation-missing-api-version | 🟢 0.1ms | 🟢 0.2ms | +115.5% |
| ↳ linter/@azure-tools/typespec-azure-core/request-body-problem | 🟢 0.2ms | 🟢 0.3ms | +72.9% |
| ↳ linter/@azure-tools/typespec-azure-core/require-versioned | 🟢 0.0ms | 🟢 0.0ms | +44.9% |
| ↳ linter/@azure-tools/typespec-azure-core/response-schema-problem | 🟡 11.1ms | 🔴 22.5ms | +102.7% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/rpc-operation-request-body | 🟢 0.2ms | 🟢 0.3ms | +91.0% |
| ↳ linter/@azure-tools/typespec-azure-core/spread-discriminated-model | 🟢 0.1ms | 🟢 0.3ms | +88.2% |
| ↳ linter/@azure-tools/typespec-azure-core/use-standard-names | 🟢 2.8ms | 🟢 4.7ms | +71.1% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-core/use-standard-operations | 🟢 0.1ms | 🟢 0.1ms | +131.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resources | 🟢 1.9ms | 🟢 3.9ms | +108.7% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations | 🟢 0.0ms | 🟢 0.0ms | +74.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-common-types-version | 🟢 1.9ms | 🟢 3.8ms | +98.3% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-no-key | 🟢 0.0ms | 🟢 0.1ms | +106.9% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-custom-resource-usage-discourage | 🟢 0.0ms | 🟢 0.1ms | +105.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes | 🟢 0.5ms | 🟢 1.1ms | +114.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-path-casing-conflicts | 🟢 2.2ms | 🟢 4.1ms | +91.5% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-no-record | 🟢 0.2ms | 🟢 0.4ms | +78.4% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-post-operation-response-codes | 🟢 0.2ms | 🟢 0.5ms | +122.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes | 🟢 0.0ms | 🟢 0.0ms | +74.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-action-no-segment | 🟢 0.1ms | 🟢 0.2ms | +118.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-duplicate-property | 🟢 0.1ms | 🟢 0.1ms | +101.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-interface-requires-decorator | 🟢 0.0ms | 🟢 0.0ms | +96.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-action-verb | 🟢 0.0ms | 🟢 0.1ms | +111.4% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property | 🟢 0.1ms | 🟢 0.1ms | +78.3% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-version-format | 🟢 0.0ms | 🟢 0.0ms | +76.4% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-key-invalid-chars | 🟢 0.1ms | 🟢 0.2ms | +86.0% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern | 🟢 0.0ms | 🟢 0.0ms | +108.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation | 🟢 0.1ms | 🟢 0.2ms | +78.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-operation-response | 🟢 2.5ms | 🟢 4.9ms | +96.2% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-patch | 🟢 0.2ms | 🟢 0.3ms | +91.2% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-path-segment-invalid-chars | 🟢 0.1ms | 🟢 0.2ms | +94.9% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state | 🟢 0.1ms | 🟢 0.1ms | +92.6% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/beyond-nesting-levels | 🟢 0.0ms | 🟢 0.1ms | +102.9% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/empty-updateable-properties | 🟢 0.1ms | 🟢 0.1ms | +108.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/improper-subscription-list-operation | 🟢 0.0ms | 🟢 0.0ms | +47.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/lro-location-header | 🟢 7.0ms | 🟡 12.3ms | +74.8% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-operations-endpoint | 🟢 0.0ms | 🟢 0.0ms | +86.4% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers | 🟢 0.2ms | 🟢 0.3ms | +85.8% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-empty-model | 🟢 0.1ms | 🟢 0.1ms | +112.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-override-props | 🟢 0.0ms | 🟢 0.1ms | +79.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-resource-delete-operation | 🟢 0.1ms | 🟢 0.2ms | +124.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/no-response-body | 🟡 11.3ms | 🟡 19.5ms | +73.4% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/patch-envelope | 🟢 0.1ms | 🟢 0.1ms | +107.5% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/resource-name | 🟢 0.1ms | 🟢 0.1ms | +106.7% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/secret-prop | 🟢 1.5ms | 🟢 2.8ms | +85.3% 🔴 |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/unsupported-type | 🟢 0.2ms | 🟢 0.4ms | +90.1% |
| ↳ linter/@azure-tools/typespec-azure-resource-manager/version-progression | 🟢 0.0ms | 🟢 0.0ms | +74.2% |
| ↳ linter/@azure-tools/typespec-client-generator-core/property-name-conflict | 🟢 0.5ms | 🟢 1.1ms | +108.7% |
| ↳ linter/@azure-tools/typespec-client-generator-core/require-client-suffix | 🟢 0.1ms | 🟢 0.2ms | +69.1% |
| emit | 🔴 3.27s | 🔴 5.90s | +80.8% 🔴 |
| ↳ emit/@azure-tools/typespec-autorest | 🟢 96.4ms | 🟢 165.0ms | +71.1% 🔴 |
| ↳ emit/@azure-tools/typespec-python | 🔴 2.25s | 🔴 4.28s | +89.9% 🔴 |
| ↳ emit/@typespec/http-client-js | 🔴 751.5ms | 🔴 1.19s | +57.8% 🔴 |
| ↳ emit/@typespec/openapi3 | 🟢 88.9ms | 🟢 150.0ms | +68.6% 🔴 |
| ↳ emit/@typespec/openapi3/compute | 🟢 75.6ms | 🟢 130.1ms | +72.1% 🔴 |
| ↳ emit/@typespec/openapi3/write | 🟢 13.4ms | 🟢 20.2ms | +51.1% 🔴 |
Averaged across 3 specs (azure-arm-resource-manager, azure-core-dataplane, azure-full).
Threshold: changes > ±5% are highlighted.
🟢 Fast · 🟡 Moderate (stages >200ms, rules >10ms) · 🔴 Slow (stages >400ms, rules >20ms)
commit: |
|
You can try these changes here
|
| @@ -93,4 +98,97 @@ interface LroPaging { | |||
| """) | |||
| @list | |||
| postPagingLro is ArmResourceActionAsync<Product, void, ProductListResult>; | |||
There was a problem hiding this comment.
Sorry, seems we already have LRO pageable case..
There was a problem hiding this comment.
we do, but the existing postPagingLro uses ArmResourceActionAsync with no body, while the new one I'm adding uses a request body, so it is a different template pattern. I do think it's worth to have both
fixes #4609
getLrowith@markAsLropostActionPaging@markAsPageablepostPaginglroWithBody