mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-24 12:09:51 +02:00
some more recording
This commit is contained in:
1 parent
8dc9a6b46d
commit
877ba9408d
3 files changed
+66
-11
No files matched your search
@@ -6,23 +6,35 @@ interface EnvironmentConfig {
|
|||||||
aliases: Record<string, string>;
|
aliases: Record<string, string>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const environments = import.meta.glob(
|
let hasReadEnvironments = false;
|
||||||
"../../../../environments/*.json",
|
const environments: Record<string, EnvironmentConfig> = {};
|
||||||
{
|
|
||||||
|
/**
|
||||||
|
* This is set up this way to avoid errors in runtimes where
|
||||||
|
* `import.meta.glob` does not exist.
|
||||||
|
*/
|
||||||
|
function readEnvironments() {
|
||||||
|
if (hasReadEnvironments) return;
|
||||||
|
|
||||||
|
hasReadEnvironments = true;
|
||||||
|
|
||||||
|
const glob = import.meta.glob("../../../../environments/*.json", {
|
||||||
eager: true,
|
eager: true,
|
||||||
import: "default",
|
import: "default",
|
||||||
},
|
}) as Record<string, EnvironmentConfig>;
|
||||||
) as Record<string, EnvironmentConfig>;
|
const root = "../../../../environments";
|
||||||
const root = "../../../../environments";
|
|
||||||
|
|
||||||
for (const key in environments) {
|
for (const key in glob) {
|
||||||
const trimmed = key.slice(root.length + 1, -5);
|
const trimmed = key.slice(root.length + 1, -5);
|
||||||
|
|
||||||
environments[trimmed] = environments[key];
|
environments[trimmed] = glob[key];
|
||||||
delete environments[key];
|
delete environments[key];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function environmentConfig() {
|
export function environmentConfig() {
|
||||||
|
readEnvironments();
|
||||||
|
|
||||||
const environment = assertSecret(import.meta.env.PUBLIC_ENVIRONMENT);
|
const environment = assertSecret(import.meta.env.PUBLIC_ENVIRONMENT);
|
||||||
|
|
||||||
if (!(environment in environments)) {
|
if (!(environment in environments)) {
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
|
import { idToRegion } from "@blitzkit/core";
|
||||||
import { GitObjectStorage } from "../core/blitzkit/gitObjectStorage";
|
import { GitObjectStorage } from "../core/blitzkit/gitObjectStorage";
|
||||||
import { IdArray } from "../core/blitzkit/idArray";
|
import { IdArray } from "../core/blitzkit/idArray";
|
||||||
import { API_RATE } from "../discoverIds/constants";
|
import { API_RATE } from "../discoverIds/constants";
|
||||||
import { sleep, withinTimeLimit } from "../discoverIds/time";
|
import { sleep, withinTimeLimit } from "../discoverIds/time";
|
||||||
import { IdsManifest } from "../discoverIds/types";
|
import { IdsManifest } from "../discoverIds/types";
|
||||||
import { IDS_API_BASE } from "./constants";
|
import { IDS_API_BASE } from "./constants";
|
||||||
import { PerformanceManifest } from "./types";
|
import { PerformanceManifest, QuickStatistics } from "./types";
|
||||||
|
|
||||||
|
const applicationId = import.meta.env.PUBLIC_WARGAMING_APPLICATION_ID;
|
||||||
|
|
||||||
const storage = await new GitObjectStorage(
|
const storage = await new GitObjectStorage(
|
||||||
"blitzkit/data-performance",
|
"blitzkit/data-performance",
|
||||||
@@ -35,6 +38,26 @@ while (withinTimeLimit()) {
|
|||||||
|
|
||||||
for (let i = 0; i < size; i++) {
|
for (let i = 0; i < size; i++) {
|
||||||
await sleep();
|
await sleep();
|
||||||
|
|
||||||
|
const id = ids.get(i);
|
||||||
|
const domain = idToRegion(id);
|
||||||
|
|
||||||
|
const url = `https://api.wotblitz.${
|
||||||
|
domain
|
||||||
|
}/wotb/tanks/stats/?application_id=${applicationId}&account_id=${id}`;
|
||||||
|
const response = await fetch(url);
|
||||||
|
const json = (await response.json()) as QuickStatistics;
|
||||||
|
|
||||||
|
const data = json.data[id];
|
||||||
|
|
||||||
|
if (json.status !== "ok" || data === null) {
|
||||||
|
console.log(`Failed player ${id}; skipping...`);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const tank of data) {
|
||||||
|
console.log(new Date(tank.battle_life_time * 1000));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,3 +4,23 @@ interface PerformanceManifestV1 {
|
|||||||
version: 1;
|
version: 1;
|
||||||
last_updated: number;
|
last_updated: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface QuickStatistics {
|
||||||
|
status: string;
|
||||||
|
data: Record<string, QuickStatisticsTank[] | null>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface QuickStatisticsTank {
|
||||||
|
last_battle_time: number;
|
||||||
|
battle_life_time: number;
|
||||||
|
tank_id: number;
|
||||||
|
|
||||||
|
all: Record<string, number>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Observations {
|
||||||
|
count: number;
|
||||||
|
observations: Record<number, Observation>;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Observation {}
|
||||||
Reference in new issue
Block a user