mirror of
https://github.com/status-im/consul.git
synced 2025-02-26 20:30:39 +00:00
* Remove unused StatsCard component * Create Card and Stats contextual components with styling * Send endpoint, item, and protocol to Stats as props * WIP basic plumbing for metrics in Ember * WIP metrics data source now works for different protocols and produces reasonable mock responses * WIP sparkline component * Mostly working metrics and graphs in topology * Fix date in tooltip to actually be correct * Clean up console.log * Add loading frame and create a style sheet for Stats * Various polish fixes: - Loading state for graph - Added fake latency cookie value to test loading - If metrics provider has no series/stats for the service show something that doesn't look broken - Graph hover works right to the edge now - Stats boxes now wrap so they are either shown or not as will fit not cut off - Graph resizes when browser window size changes - Some tweaks to number formats and stat metrics to make them more compact/useful * Thread Protocol through topology model correctly * Rebuild assetfs * Fix failing tests and remove stats-card now it's changed and become different * Fix merge conflict * Update api doublt * more merge fixes * Add data-permission and id attr to Card * Run JS linter * Move things around so the tests run with everything available * Get tests passing: 1. Remove fakeLatency setTimeout (will be replaced with CONSUL_LATENCY in mocks) 2. Make sure any event handlers are removed * Make sure the Consul/scripts are available before the app * Make sure interval gets set if there is no cookie value * Upgrade mocks so we can use CONSUL_LATENCY * Fix handling of no series values from Prometheus * Update assetfs and fix a comment * Rebase and rebuild assetfs; fix tcp metric series units to be bits not bytes * Rebuild assetfs * Hide stats when provider is not configured Co-authored-by: kenia <keniavalladarez@gmail.com> Co-authored-by: John Cowen <jcowen@hashicorp.com>
24 lines
721 B
JavaScript
24 lines
721 B
JavaScript
import Component from '@glimmer/component';
|
|
import { tracked } from '@glimmer/tracking';
|
|
import { action } from '@ember/object';
|
|
|
|
export default class TopologyMetricsStats extends Component {
|
|
@tracked stats = null;
|
|
@tracked hasLoaded = false;
|
|
|
|
@action
|
|
statsUpdate(event) {
|
|
if (this.args.endpoint == 'summary-for-service') {
|
|
// For the main service there is just one set of stats.
|
|
this.stats = event.data.stats;
|
|
} else {
|
|
// For up/downstreams we need to pull out the stats for the service we
|
|
// represent.
|
|
this.stats = event.data.stats[this.args.item];
|
|
}
|
|
// Limit to 4 metrics for now.
|
|
this.stats = (this.stats || []).slice(0, 4);
|
|
this.hasLoaded = true;
|
|
}
|
|
}
|