set(value, labels, timestamp) {
		const hash = this.hashingLabels(labels);
		let item = this.values.get(hash);
		if (item) {
			if (item.value != value) {
				item.value = value;
				item.timestamp = timestamp == null ? Date.now() : timestamp;

				if (item.rate) item.rate.update(value);

				this.changed(value, labels, timestamp);
			}
		} else {
			item = {
				value,
				labels: pick(labels, this.labelNames),
				timestamp: timestamp == null ? Date.now() : timestamp
			};
			this.values.set(hash, item);

			if (this.rate) {
				item.rate = new MetricRate(this, item, 1);
				item.rate.update(value);
			}

			this.changed(value, labels, timestamp);
		}

		return item;
	}
Set value.

@param {Number?} value
@param {Object} labels
@param {Number?} timestamp
@returns
@memberof GaugeMetric