secondlife / secondlife/viewer

Leap API for "benchmarking"

Open
#5,368 3 comments 0 reactions 1 assignee View on GitHub

@maxim-productengine is already working on this.

Since May 6, 2026.

enhancement LEAP_additions
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

It would be extremely cool if we could get a Leap API that would start recording performance metrics and one to stop it so that we could take extremely precise performance metric data in a relatively standardized way.

I'm picturing (for the API) something like:
{pump: 'Performance', data: {op: 'startRecording', filename: '/performance/metric/path'}}
For starting it and
{pump: 'Performance', data: {op: 'stopRecording'}}

and for the actual file I'm picturing something like:

{"timestamp": <time1>, "fps": <sample1>}
{"timestamp": <time2>, "fps": <sample2>}
{"timestamp": <time3>, "fps": <sample3>}
{"timestamp": <time4>, "fps": <sample4>}

Theoretically this structure could also be used to handle other metrics the viewer has internally; things like vram, memory usage, cpu usage, etc... would probably be stuff viewers would probably also want in such a tool.

Test Plan

Run these leap APIs and see if they report metrics correctly.



This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️‍♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #5368 either in the PR description or in a PR's comment.

🪙 Also, everyone can tip any user commenting /tip 20 @jellyfish-linden (replace 20 with the amount, and @jellyfish-linden with the user to tip).

📖 If you want to learn more, check out our documentation.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.