microsoft / FluidFramework

Library for building distributed, real-time collaborative web applications
https://fluidframework.com
MIT License
4.7k stars 528 forks source link

Add smoke test to stress tests #21926

Closed ChumpChief closed 1 month ago

ChumpChief commented 1 month ago

This PR does 3 things:

  1. Splits nodeStressTest.ts and utils.ts up some, into smaller, single-purpose files.
  2. Starts to consolidate process exit paths back up at the main() function. There's more to do here and I'd like to continue in a subsequent PR, but this PR is fairly large already.
  3. Most importantly, adds a simple smoke test that runs before the real stress tests.

The motivation for the smoke test is that the FRS Canary stress tests have been failing for a while (and yes, need investigation still), but additionally each failure is taking the full 2 hours to time out. This smoke test aims to help them fail faster, since it's immediately apparent we aren't able to create and/or load a container (getting 504 errors currently). With this change, I'd expect the FRS Canary run to fail in ~2 minutes instead.

AB#9092

msfluid-bot commented 1 month ago
@fluid-example/bundle-size-tests: +245 Bytes
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 457.99 KB 458.02 KB +35 Bytes
azureClient.js 555.23 KB 555.28 KB +49 Bytes
connectionState.js 680 Bytes 680 Bytes No change
containerRuntime.js 258.67 KB 258.68 KB +14 Bytes
fluidFramework.js 406.94 KB 406.95 KB +14 Bytes
loader.js 134.04 KB 134.05 KB +14 Bytes
map.js 42.13 KB 42.14 KB +7 Bytes
matrix.js 146.41 KB 146.42 KB +7 Bytes
odspClient.js 523.37 KB 523.42 KB +49 Bytes
odspDriver.js 97.55 KB 97.57 KB +21 Bytes
odspPrefetchSnapshot.js 42.61 KB 42.62 KB +14 Bytes
sharedString.js 163.13 KB 163.14 KB +7 Bytes
sharedTree.js 397.45 KB 397.46 KB +7 Bytes
Total Size 3.3 MB 3.3 MB +245 Bytes

Baseline commit: ac3948a7e18981f3fe8496c296d20443f9ce3d62

Generated by :no_entry_sign: dangerJS against 13fe6516f49e8e4ddd853bf4a1d2eb5bd6fd11f8

anthony-murphy commented 1 month ago

can this PR be split apart, such that refactoring and new functionality are in different PRs to make review easier. I also think the refactoring in fine, but the new functionality will need further discussion.

azure-boards[bot] commented 1 month ago

✅ Successfully linked to Azure Boards work item(s):

ChumpChief commented 1 month ago

can this PR be split apart, such that refactoring and new functionality are in different PRs to make review easier. I also think the refactoring in fine, but the new functionality will need further discussion.

I can probably do that - if you have feedback on the new functionality please go ahead though, happy to start considering in parallel.

ChumpChief commented 1 month ago

can this PR be split apart, such that refactoring and new functionality are in different PRs to make review easier. I also think the refactoring in fine, but the new functionality will need further discussion.

I can probably do that - if you have feedback on the new functionality please go ahead though, happy to start considering in parallel.

First split piece: #21997

ChumpChief commented 1 month ago

can this PR be split apart, such that refactoring and new functionality are in different PRs to make review easier. I also think the refactoring in fine, but the new functionality will need further discussion.

I can probably do that - if you have feedback on the new functionality please go ahead though, happy to start considering in parallel.

First split piece: #21997

Second split piece: #22002

ChumpChief commented 1 month ago

22006 supersedes this PR, closing.