Skip to content

Commit 3839431

Browse files
msilivonik-scclaude
andcommitted
refactor: rename useLensPerformanceMetrics to useLensFrameMetrics
Aligns with the SDK's ComputedFrameMetrics return type and is more specific about what is being measured. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c0cc651 commit 3839431

4 files changed

Lines changed: 20 additions & 20 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,13 @@ function Preview() {
8888

8989
### Performance Metrics
9090

91-
Use `useLensPerformanceMetrics` to monitor lens rendering performance:
91+
Use `useLensFrameMetrics` to monitor lens rendering performance:
9292

9393
```tsx
94-
import { useLensPerformanceMetrics } from "@snap/react-camera-kit";
94+
import { useLensFrameMetrics } from "@snap/react-camera-kit";
9595

9696
function PerformanceOverlay() {
97-
const metrics = useLensPerformanceMetrics({ interval: 500 });
97+
const metrics = useLensFrameMetrics({ interval: 500 });
9898

9999
if (!metrics) return null;
100100

src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export { useApplyLens } from "./useApplyLens";
1717
export { useApplySource } from "./useApplySource";
1818
export { usePlaybackOptions } from "./usePlaybackOptions";
1919
export type { PlaybackOptions } from "./usePlaybackOptions";
20-
export { useLensPerformanceMetrics } from "./useLensPerformanceMetrics";
20+
export { useLensFrameMetrics } from "./useLensFrameMetrics";
2121

2222
// Types
2323
export type {
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
jest.mock("@snap/camera-kit", () => ({}));
22

33
import { renderHook, act } from "@testing-library/react";
4-
import { useLensPerformanceMetrics } from "./useLensPerformanceMetrics";
4+
import { useLensFrameMetrics } from "./useLensFrameMetrics";
55
import { useInternalCameraKit } from "./CameraKitProvider";
66
import { ComputedFrameMetrics } from "@snap/camera-kit";
77

@@ -65,7 +65,7 @@ function setupContext(overrides: Partial<ReturnType<typeof useInternalCameraKit>
6565
return { measurement, session, mockGetLogger };
6666
}
6767

68-
describe("useLensPerformanceMetrics", () => {
68+
describe("useLensFrameMetrics", () => {
6969
beforeEach(() => {
7070
jest.clearAllMocks();
7171
jest.useFakeTimers();
@@ -78,15 +78,15 @@ describe("useLensPerformanceMetrics", () => {
7878
it("returns undefined when no session is available", () => {
7979
setupContext({ currentSession: undefined, sdkStatus: "initializing" });
8080

81-
const { result } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
81+
const { result } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
8282

8383
expect(result.current).toBeUndefined();
8484
});
8585

8686
it("calls beginMeasurement when session becomes available", () => {
8787
const { session } = setupContext();
8888

89-
renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
89+
renderHook(() => useLensFrameMetrics({ interval: 500 }));
9090

9191
expect(session.metrics.beginMeasurement).toHaveBeenCalledTimes(1);
9292
});
@@ -96,7 +96,7 @@ describe("useLensPerformanceMetrics", () => {
9696
const metrics = createMockMetrics({ avgFps: 60 });
9797
measurement.measure.mockReturnValue(metrics);
9898

99-
const { result } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
99+
const { result } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
100100

101101
// No metrics yet before first interval tick
102102
expect(result.current).toBeUndefined();
@@ -113,7 +113,7 @@ describe("useLensPerformanceMetrics", () => {
113113
it("polls repeatedly at the interval", () => {
114114
const { measurement } = setupContext();
115115

116-
renderHook(() => useLensPerformanceMetrics({ interval: 200 }));
116+
renderHook(() => useLensFrameMetrics({ interval: 200 }));
117117

118118
act(() => {
119119
jest.advanceTimersByTime(600);
@@ -125,7 +125,7 @@ describe("useLensPerformanceMetrics", () => {
125125
it("calls reset() when lens changes", () => {
126126
const { measurement } = setupContext();
127127

128-
const { rerender } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
128+
const { rerender } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
129129

130130
// Change the lens
131131
mockUseInternalCameraKit.mockReturnValue({
@@ -149,7 +149,7 @@ describe("useLensPerformanceMetrics", () => {
149149
it("calls end() on unmount", () => {
150150
const { measurement } = setupContext();
151151

152-
const { unmount } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
152+
const { unmount } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
153153

154154
unmount();
155155

@@ -159,7 +159,7 @@ describe("useLensPerformanceMetrics", () => {
159159
it("calls end() then beginMeasurement() when session changes", () => {
160160
const { measurement: measurement1 } = setupContext();
161161

162-
const { rerender } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
162+
const { rerender } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
163163

164164
expect(measurement1.end).not.toHaveBeenCalled();
165165

@@ -181,7 +181,7 @@ describe("useLensPerformanceMetrics", () => {
181181
it("does not start measurement when enabled is false", () => {
182182
const { session } = setupContext();
183183

184-
const { result } = renderHook(() => useLensPerformanceMetrics({ interval: 500, enabled: false }));
184+
const { result } = renderHook(() => useLensFrameMetrics({ interval: 500, enabled: false }));
185185

186186
expect(session.metrics.beginMeasurement).not.toHaveBeenCalled();
187187
expect(result.current).toBeUndefined();
@@ -191,7 +191,7 @@ describe("useLensPerformanceMetrics", () => {
191191
const { measurement } = setupContext();
192192
measurement.measure.mockReturnValue(createMockMetrics({ avgFps: 60 }));
193193

194-
const { result, rerender } = renderHook(({ enabled }) => useLensPerformanceMetrics({ interval: 500, enabled }), {
194+
const { result, rerender } = renderHook(({ enabled }) => useLensFrameMetrics({ interval: 500, enabled }), {
195195
initialProps: { enabled: true },
196196
});
197197

@@ -210,7 +210,7 @@ describe("useLensPerformanceMetrics", () => {
210210
it("starts measurement when enabled changes to true", () => {
211211
const { session } = setupContext();
212212

213-
const { rerender } = renderHook(({ enabled }) => useLensPerformanceMetrics({ interval: 500, enabled }), {
213+
const { rerender } = renderHook(({ enabled }) => useLensFrameMetrics({ interval: 500, enabled }), {
214214
initialProps: { enabled: false },
215215
});
216216

@@ -225,7 +225,7 @@ describe("useLensPerformanceMetrics", () => {
225225
const { measurement } = setupContext();
226226
measurement.measure.mockReturnValue(createMockMetrics({ avgFps: 60 }));
227227

228-
const { result, rerender } = renderHook(() => useLensPerformanceMetrics({ interval: 500 }));
228+
const { result, rerender } = renderHook(() => useLensFrameMetrics({ interval: 500 }));
229229

230230
act(() => {
231231
jest.advanceTimersByTime(500);
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react";
22
import { ComputedFrameMetrics, LensPerformanceMeasurement } from "@snap/camera-kit";
33
import { useInternalCameraKit } from "./CameraKitProvider";
44

5-
interface UseLensPerformanceMetricsOptions {
5+
interface UseLensFrameMetricsOptions {
66
/** Polling interval in milliseconds. How often measurement.measure() is called to update state. */
77
interval: number;
88
/** Whether measurement is active. Defaults to true. When false, no measurement is started and the hook returns undefined. */
@@ -22,15 +22,15 @@ interface UseLensPerformanceMetricsOptions {
2222
* @example
2323
* ```tsx
2424
* function PerformanceOverlay() {
25-
* const metrics = useLensPerformanceMetrics({ interval: 500 });
25+
* const metrics = useLensFrameMetrics({ interval: 500 });
2626
*
2727
* if (!metrics) return null;
2828
*
2929
* return <div>FPS: {metrics.avgFps.toFixed(1)}</div>;
3030
* }
3131
* ```
3232
*/
33-
export function useLensPerformanceMetrics(options: UseLensPerformanceMetricsOptions): ComputedFrameMetrics | undefined {
33+
export function useLensFrameMetrics(options: UseLensFrameMetricsOptions): ComputedFrameMetrics | undefined {
3434
const { enabled = true } = options;
3535
const { currentSession, lens } = useInternalCameraKit();
3636
const [metrics, setMetrics] = useState<ComputedFrameMetrics | undefined>(undefined);

0 commit comments

Comments
 (0)