mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-26 19:24:27 +00:00
fix(new_usage.tsx): increase page size + iterate through all pages if multiple pages
This commit is contained in:
parent
7e1dcb0ada
commit
1855b9702f
2 changed files with 37 additions and 6 deletions
|
@ -22,15 +22,13 @@ import ViewUserSpend from "./view_user_spend";
|
|||
import TopKeyView from "./top_key_view";
|
||||
import { ActivityMetrics, processActivityData } from './activity_metrics';
|
||||
import { SpendMetrics, DailyData, ModelActivityData, MetricWithMetadata, KeyMetricWithMetadata } from './usage/types';
|
||||
|
||||
interface NewUsagePageProps {
|
||||
accessToken: string | null;
|
||||
userRole: string | null;
|
||||
userID: string | null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
const NewUsagePage: React.FC<NewUsagePageProps> = ({
|
||||
accessToken,
|
||||
userRole,
|
||||
|
@ -177,8 +175,39 @@ const NewUsagePage: React.FC<NewUsagePageProps> = ({
|
|||
if (!accessToken || !dateValue.from || !dateValue.to) return;
|
||||
const startTime = dateValue.from;
|
||||
const endTime = dateValue.to;
|
||||
const data = await userDailyActivityCall(accessToken, startTime, endTime);
|
||||
setUserSpendData(data);
|
||||
|
||||
try {
|
||||
// Get first page
|
||||
const firstPageData = await userDailyActivityCall(accessToken, startTime, endTime);
|
||||
|
||||
// Check if we need to fetch more pages
|
||||
if (firstPageData.metadata.total_pages > 10) {
|
||||
throw new Error("Too many pages of data (>10). Please select a smaller date range.");
|
||||
}
|
||||
|
||||
// If only one page, just set the data
|
||||
if (firstPageData.metadata.total_pages === 1) {
|
||||
setUserSpendData(firstPageData);
|
||||
return;
|
||||
}
|
||||
|
||||
// Fetch all pages
|
||||
const allResults = [...firstPageData.results];
|
||||
|
||||
for (let page = 2; page <= firstPageData.metadata.total_pages; page++) {
|
||||
const pageData = await userDailyActivityCall(accessToken, startTime, endTime, page);
|
||||
allResults.push(...pageData.results);
|
||||
}
|
||||
|
||||
// Combine all results with the first page's metadata
|
||||
setUserSpendData({
|
||||
results: allResults,
|
||||
metadata: firstPageData.metadata
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error fetching user spend data:", error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue