derisen / msal-perf-playground

Simple benchmark tool for MSAL Node performance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

perf-playground

Simple testing suite to obtain performance metrics for confidential client applications using MSAL Node.

There are 2 samples to run tests against:

installation

Clone the repository. Then locate the cloned folder in your terminal and run:

Make sure you have Node.js v14 or later installed on your system, or get it from here

    npm install

You'll also need to register an Azure AD application for each sample, and create a test user account in the tenant that the apps are registered at. To do so, you can run the provided Configure.ps1 PowerShell script, which will register the apps, create a test user and update the configuration files:

⚠️ Make sure you have PowerShell v7 installed on your system, or get it from here

    cd scripts
    .\Configure.ps1 -TenantId "your-test-tenant-id"

Run Cleanup.ps1 when you would like to clear resources after testing.

running tests

web app

To run tests against the web app project, type:

    cd web-app
    npm run test:all

This will run all tests defined in the playwright.config.ts. Afterwards, the generated report will open in your system's default browser. If you like, you can run tests individually, or change the default parameters like instance mode, cache size and etc. See package.json for more.

web api

To run tests against the web app project, type:

    cd web-api
    npm run test:all

This will run all tests defined in the loadTest.js. Afterwards, the generated report will open in your system's default browser. If you like, you can run tests individually, or change the default parameters like instance mode, cache size and etc. See loadTest.js for more.

remarks

You can use Clinic.js to do performance profiling for the samples in this repo. Read more on how to interpret Clinic.js results here.

see also:

About

Simple benchmark tool for MSAL Node performance


Languages

Language:JavaScript 55.7%Language:PowerShell 31.7%Language:TypeScript 10.7%Language:Handlebars 1.2%Language:Shell 0.6%Language:CSS 0.1%