mirror of
https://github.com/SukkaW/Surge.git
synced 2026-01-29 01:51:52 +08:00
Refactor: full span tracer
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
// @ts-check
|
||||
import type { Span } from './trace';
|
||||
import { task } from './trace';
|
||||
|
||||
import path from 'path';
|
||||
@@ -7,10 +8,12 @@ import { createRuleset } from './lib/create-file';
|
||||
import { ALL, NORTH_AMERICA, EU, HK, TW, JP, KR } from '../Source/stream';
|
||||
import { SHARED_DESCRIPTION } from './lib/constants';
|
||||
|
||||
export const createRulesetForStreamService = (fileId: string, title: string, streamServices: Array<import('../Source/stream').StreamService>) => {
|
||||
export const createRulesetForStreamService = (span: Span, fileId: string, title: string, streamServices: Array<import('../Source/stream').StreamService>) => {
|
||||
const childSpan = span.traceChild(fileId);
|
||||
return [
|
||||
// Domains
|
||||
...createRuleset(
|
||||
createRuleset(
|
||||
childSpan,
|
||||
`Sukka's Ruleset - Stream Services: ${title}`,
|
||||
[
|
||||
...SHARED_DESCRIPTION,
|
||||
@@ -24,7 +27,8 @@ export const createRulesetForStreamService = (fileId: string, title: string, str
|
||||
path.resolve(import.meta.dir, `../Clash/non_ip/${fileId}.txt`)
|
||||
),
|
||||
// IP
|
||||
...createRuleset(
|
||||
createRuleset(
|
||||
childSpan,
|
||||
`Sukka's Ruleset - Stream Services' IPs: ${title}`,
|
||||
[
|
||||
...SHARED_DESCRIPTION,
|
||||
@@ -47,16 +51,16 @@ export const createRulesetForStreamService = (fileId: string, title: string, str
|
||||
];
|
||||
};
|
||||
|
||||
export const buildStreamService = task(import.meta.path, async () => {
|
||||
export const buildStreamService = task(import.meta.path, async (span) => {
|
||||
return Promise.all([
|
||||
...createRulesetForStreamService('stream', 'All', ALL),
|
||||
...createRulesetForStreamService('stream_us', 'North America', NORTH_AMERICA),
|
||||
...createRulesetForStreamService('stream_eu', 'Europe', EU),
|
||||
...createRulesetForStreamService('stream_hk', 'Hong Kong', HK),
|
||||
...createRulesetForStreamService('stream_tw', 'Taiwan', TW),
|
||||
...createRulesetForStreamService('stream_jp', 'Japan', JP),
|
||||
...createRulesetForStreamService(span, 'stream', 'All', ALL),
|
||||
...createRulesetForStreamService(span, 'stream_us', 'North America', NORTH_AMERICA),
|
||||
...createRulesetForStreamService(span, 'stream_eu', 'Europe', EU),
|
||||
...createRulesetForStreamService(span, 'stream_hk', 'Hong Kong', HK),
|
||||
...createRulesetForStreamService(span, 'stream_tw', 'Taiwan', TW),
|
||||
...createRulesetForStreamService(span, 'stream_jp', 'Japan', JP),
|
||||
// ...createRulesetForStreamService('stream_au', 'Oceania', AU),
|
||||
...createRulesetForStreamService('stream_kr', 'Korean', KR)
|
||||
...createRulesetForStreamService(span, 'stream_kr', 'Korean', KR)
|
||||
// ...createRulesetForStreamService('stream_south_east_asia', 'South East Asia', SOUTH_EAST_ASIA)
|
||||
]);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user