I am currently trying to define a performance testing strategy for a Palantir Foundry application and would appreciate guidance from anyone who has implemented this in a Foundry environment.
I would like to perform the standard types of performance testing:
- Smoke testing – verify that the application/API works correctly with minimal load.
- Load testing – validate performance under expected/normal concurrent user load.
- Stress testing – gradually increase the load to identify the application’s performance limits.
- Spike testing – simulate a sudden increase/decrease in traffic.
- Soak/Endurance testing – maintain a sustained load for an extended period to identify degradation, resource exhaustion, etc.
My current understanding
For conventional web/API applications, I would normally use a tool such as Grafana k6 to automate these tests.
For example, k6 can generate HTTP requests and configure different workloads using virtual users, request rates, durations and ramp-up/ramp-down stages. It also supports performance thresholds and can be used to automate smoke, load, stress, spike and soak scenarios.
However, I am not sure what the recommended and supported approach is specifically for Palantir Foundry applications.
Questions
-
Is automated performance testing of a Foundry application feasible?
-
If yes, what is the recommended approach for simulating concurrent users against a Foundry application?
-
Can tools such as Grafana k6 be used against Foundry APIs/OSDK endpoints to generate realistic load?
-
If k6 is possible, what would be the recommended authentication mechanism for the test users/service accounts? Are there any restrictions or recommended practices around OAuth/API authentication when generating load?
-
What should actually be considered the system under test?
For example:
- Workshop application/UI
- Custom application
- OSDK/API calls
- Ontology queries
- Functions
- Actions
- Other Foundry services
-
Are there any platform limits, rate limits, concurrency restrictions, or guardrails that we need to consider before running stress/spike tests in a Foundry environment?
I would really appreciate an example architecture or guidance on how you implemented it.
The main challenge
Manually asking a large number of users to simultaneously perform the same operations in the application is obviously not a realistic or repeatable way to perform load/stress testing.
Therefore, I am looking for a repeatable and automated performance-testing approach that can generate controlled workloads and allow us to compare results between application releases.
I currently have experience with Grafana k6, so I would especially appreciate guidance on whether k6 can be used for this purpose or whether Palantir recommends another tool or methodology.