MCPcopy Index your code
hub / github.com/bamlab/flashlight

github.com/bamlab/flashlight @v0.18.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.18.0 ↗ · + Follow
504 symbols 1,276 edges 190 files 17 documented · 3% updated 2d agov0.18.0 · 2024-07-04★ 1,58617 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Flashlight

Get a performance score for your app 🔦

Flashlight generates a performance score for your Android app, aggregating different metrics. (📱 iOS support is also in the works)

🙅 No setup required in your app
🚀 Measure performance even on production apps
✨ Generates beautiful reports (like this Flatlist/Flashlist comparison)

image

With Flashlight 🔦, you can either:

Or use the CLI:

  • flashlight measure: quickly audit your perf with real-time measures
  • flashlight test: automate your measures with e2e performance testing over several iterations
  • flashlight cloud: run measures on real devices in the cloud & integrate in your CI setup

Installation

macOS/Linux

curl https://get.flashlight.dev | bash

Windows

iwr https://get.flashlight.dev/windows -useb | iex

Usage

Head over to the docs at docs.flashlight.dev

Contributing

We love pull requests! Head over to the contribution guide to get started.

Extension points exported contracts — how you extend this code

ScreenRecorder (Interface)
(no doc) [1 implementers]
packages/core/types/index.ts
ServerAppProps (Interface)
(no doc)
packages/commands/measure/src/server/ServerApp.tsx
RemoteServerOptions (Interface)
(no doc)
packages/plugins/appium-helper/AppiumDriver.ts
HistogramValue (Interface)
(no doc)
packages/platforms/android/src/commands/gfxInfo/parseGfxInfo.ts
Profiler (Interface)
(no doc) [1 implementers]
packages/core/types/index.ts
SocketData (Interface)
(no doc)
packages/commands/measure/src/server/socket/socketInterface.ts
RenderingTimeMeasures (Interface)
(no doc)
packages/platforms/android/src/commands/gfxInfo/parseGfxInfo.ts
CpuMeasure (Interface)
(no doc)
packages/core/types/index.ts

Core symbols most depended-on inside this repo

emit
called by 18
packages/commands/test/src/utils/test/PerformancePollingMock.ts
executeCommand
called by 15
packages/platforms/android/src/commands/shell.ts
roundToDecimal
called by 11
packages/core/reporter/src/utils/round.ts
measurePerformance
called by 9
packages/commands/test/src/measurePerformance.ts
emitMeasure
called by 9
packages/commands/test/src/utils/test/mockEmitMeasures.ts
log
called by 9
packages/platforms/android/cpp-profiler/src/utils.cpp
_calculateXY
called by 8
packages/plugins/appium-helper/GestureHandler.ts
setState
called by 7
packages/commands/measure/src/server/socket/socketState.ts

Shape

Function 283
Method 140
Class 48
Interface 33

Languages

TypeScript96%
C++4%

Modules by API surface

packages/plugins/appium-helper/AppiumDriver.ts29 symbols
packages/platforms/android/src/commands/platforms/AndroidProfiler.ts15 symbols
packages/core/reporter/src/reporting/Report.ts15 symbols
packages/platforms/android/src/commands/platforms/UnixProfiler.ts13 symbols
packages/core/web-reporter-ui/src/components/Table.tsx13 symbols
packages/plugins/appium-helper/GestureHandler.ts12 symbols
packages/platforms/android/src/commands/gfxInfo/parseGfxInfo.ts12 symbols
packages/core/types/index.ts11 symbols
packages/plugins/aws-device-farm/src/repositories/upload.ts10 symbols
packages/platforms/android/cpp-profiler/src/main.cpp10 symbols
packages/platforms/ios/src/index.ts9 symbols
packages/core/web-reporter-ui/src/sections/hideSectionForEmptyValue.ts9 symbols

For agents

$ claude mcp add flashlight \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page