Skip to content

Commit

Permalink
Dashboard does not use metrics anymore (#1333)
Browse files Browse the repository at this point in the history
* add DashboardAggregator that subscribe to mining_completed

* Add DashboardAggregatorAggregator genserver

* Dashboard use the DashboardAggregatorAggregator

* Publish the mining completed event

* DashboardAggregatorAggregator listen to node_up

* Remove Metrics collection

* rename DashboardAggregator to DashboardMetrics

* simplify bucket_key function

* optimize zip_nodes_with_latest_request

* Manual start of the processes for the tests

* do not update version anymore

* use :continue instead of send after

* lint

* Refactor Dashboard to display the transactions count instead of validations count

* add new graph network_tx_avg_duration

* add flag to median function

* Replace 2 charts by 2 others

- Boxplot of validation duration
- Tx count per node within last hour
  • Loading branch information
bchamagne committed Dec 22, 2023
1 parent f925ff1 commit 4b48fc8
Show file tree
Hide file tree
Showing 31 changed files with 1,299 additions and 967 deletions.
2 changes: 1 addition & 1 deletion .formatter.exs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
[
inputs: [
"{mix,.formatter}.exs",
"{config,lib,test}/**/*.{ex,exs}",
"{config,lib,test}/**/*.{ex,exs,heex}",
"apps/*/{lib,config,test}/**/*.{ex,exs}",
"apps/*/mix.exs"
],
Expand Down
53 changes: 39 additions & 14 deletions assets/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
// its own CSS file.
import { } from "./ui";
import {
initializeNbTransactionGraph,
updateNbTransactionGraph,
initializeValidationDurationGraph,
updateValidationDurationGraph
initBoxPlotTransactionsAvgDurationChart,
initNetworkTransactionsCountChart,
initNetworkTransactionsAvgDurationChart,
initNodeTransactionsCountChart,
updateBoxPlotTransactionsAvgDurationChart,
updateNetworkTransactionsCountChart,
updateNetworkTransactionsAvgDurationChart,
updateNodeTransactionsCountChart
} from "./metric_config.js";
import { createWorldmap, updateWorldmap } from "./worldmap";

Expand Down Expand Up @@ -85,20 +89,41 @@ Hooks.Logs = {
},
};

//metric dashboard hook /metrics/dashboard
Hooks.network_charts = {
Hooks.network_transactions_count_chart = {
mounted() {
const nbTransactionEl = this.el.querySelector("#nb_transactions")
const validationDurationEl = this.el.querySelector("#validation_duration")
const chart = initNetworkTransactionsCountChart(this.el.querySelector(".chart"));
this.handleEvent("network_transactions_count", (stats) => {
updateNetworkTransactionsCountChart(chart, stats);
});
}
};

Hooks.network_transactions_avg_duration_chart = {
mounted() {
const chart = initNetworkTransactionsAvgDurationChart(this.el.querySelector(".chart"));
this.handleEvent("network_transactions_avg_duration", (stats) => {
updateNetworkTransactionsAvgDurationChart(chart, stats);
});
}
};

const txGraph = initializeNbTransactionGraph(nbTransactionEl);
const validationDurationGraph = initializeValidationDurationGraph(validationDurationEl);
Hooks.node_transactions_count_chart = {
mounted() {
const chart = initNodeTransactionsCountChart(this.el.querySelector(".chart"));
this.handleEvent("node_transactions_count", (stats) => {
updateNodeTransactionsCountChart(chart, stats);
});
}
};

this.handleEvent("network_updates", ({ nb_transactions, validation_duration }) => {
updateNbTransactionGraph(txGraph, nb_transactions);
updateValidationDurationGraph(validationDurationGraph, validation_duration);

Hooks.boxplot_transactions_avg_duration = {
mounted() {
const chart = initBoxPlotTransactionsAvgDurationChart(this.el.querySelector(".chart"));
this.handleEvent("boxplot_transactions_avg_duration", (stats) => {
updateBoxPlotTransactionsAvgDurationChart(chart, stats);
});
},
}
};

Hooks.worldmap = {
Expand Down
Loading

0 comments on commit 4b48fc8

Please sign in to comment.