diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-02-08 23:43:51 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-02-08 23:43:51 +0900 |
| commit | f4e28983a1355caf842825ec71037b956b7b98ac (patch) | |
| tree | c8f84fa2bfef2eab32193e515928e634f10dba3f | |
| parent | Update CHANGELOG.md (diff) | |
| download | misskey-f4e28983a1355caf842825ec71037b956b7b98ac.tar.gz misskey-f4e28983a1355caf842825ec71037b956b7b98ac.tar.bz2 misskey-f4e28983a1355caf842825ec71037b956b7b98ac.zip | |
feat: improve federation chart
5 files changed, 37 insertions, 5 deletions
diff --git a/packages/backend/migration/1644331238153-chart-v13.js b/packages/backend/migration/1644331238153-chart-v13.js new file mode 100644 index 0000000000..ed36659b34 --- /dev/null +++ b/packages/backend/migration/1644331238153-chart-v13.js @@ -0,0 +1,19 @@ +const { MigrationInterface, QueryRunner } = require("typeorm"); + +module.exports = class chartV131644331238153 { + name = 'chartV131644331238153' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`); + await queryRunner.query(`ALTER TABLE "__chart__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`); + await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "unique_temp___stalled" character varying array NOT NULL DEFAULT '{}'`); + await queryRunner.query(`ALTER TABLE "__chart_day__federation" ADD "___stalled" smallint NOT NULL DEFAULT '0'`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "___stalled"`); + await queryRunner.query(`ALTER TABLE "__chart_day__federation" DROP COLUMN "unique_temp___stalled"`); + await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "___stalled"`); + await queryRunner.query(`ALTER TABLE "__chart__federation" DROP COLUMN "unique_temp___stalled"`); + } +} diff --git a/packages/backend/src/queue/processors/deliver.ts b/packages/backend/src/queue/processors/deliver.ts index e29f991307..bd91dfc3b5 100644 --- a/packages/backend/src/queue/processors/deliver.ts +++ b/packages/backend/src/queue/processors/deliver.ts @@ -62,7 +62,7 @@ export default async (job: Bull.Job<DeliverJobData>) => { instanceChart.requestSent(i.host, true); apRequestChart.deliverSucc(); - federationChart.deliverd(i.host); + federationChart.deliverd(i.host, true); }); return 'Success'; @@ -77,6 +77,7 @@ export default async (job: Bull.Job<DeliverJobData>) => { instanceChart.requestSent(i.host, false); apRequestChart.deliverFail(); + federationChart.deliverd(i.host, false); }); if (res instanceof StatusError) { diff --git a/packages/backend/src/services/chart/charts/entities/federation.ts b/packages/backend/src/services/chart/charts/entities/federation.ts index 5a76c4918c..0c8c20991d 100644 --- a/packages/backend/src/services/chart/charts/entities/federation.ts +++ b/packages/backend/src/services/chart/charts/entities/federation.ts @@ -8,6 +8,7 @@ export const schema = { 'instance.dec': { range: 'small' }, 'deliveredInstances': { uniqueIncrement: true, range: 'small' }, 'inboxInstances': { uniqueIncrement: true, range: 'small' }, + 'stalled': { uniqueIncrement: true, range: 'small' }, } as const; export const entity = Chart.schemaToEntity(name, schema); diff --git a/packages/backend/src/services/chart/charts/federation.ts b/packages/backend/src/services/chart/charts/federation.ts index 3aa448e66f..19c75c98ad 100644 --- a/packages/backend/src/services/chart/charts/federation.ts +++ b/packages/backend/src/services/chart/charts/federation.ts @@ -33,9 +33,11 @@ export default class FederationChart extends Chart<typeof schema> { } @autobind - public async deliverd(host: string): Promise<void> { - await this.commit({ + public async deliverd(host: string, succeeded: boolean): Promise<void> { + await this.commit(succeeded ? { 'deliveredInstances': [host], + } : { + 'stalled': [host], }); } diff --git a/packages/client/src/components/chart.vue b/packages/client/src/components/chart.vue index da7d378bd9..f297db7e13 100644 --- a/packages/client/src/components/chart.vue +++ b/packages/client/src/components/chart.vue @@ -372,18 +372,27 @@ export default defineComponent({ name: 'Instances total', type: 'area', data: format(raw.instance.total), + color: '#888888', }, { name: 'Instances inc/dec', type: 'area', data: format(sum(raw.instance.inc, negate(raw.instance.dec))), + color: colors.purple, + }, { + name: 'Inbox instances', + type: 'area', + data: format(raw.inboxInstances), + color: colors.blue, }, { name: 'Delivered instances', type: 'area', data: format(raw.deliveredInstances), + color: colors.green, }, { - name: 'Inbox instances', + name: 'Stalled instances', type: 'area', - data: format(raw.inboxInstances), + data: format(raw.stalled), + color: colors.red, }], }; }; |