You can find here
- Grafana dashboard json
- Template for csv file tracking cold plunges
- Tutorial is uploaded here: https://www.youtube.com/watch?v=ZTWY10K0GzY
{ | |
"__inputs": [ | |
{ | |
"name": "DS_GRAFANACLOUD-OBIRDABILITY-LOGS", | |
"label": "grafanacloud-obirdability-logs", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "loki", | |
"pluginName": "Loki" | |
}, |
You can find here
{ | |
"__inputs": [ | |
{ | |
"name": "DS_COLD-PLUNGE-FORM", | |
"label": "cold-plunge-form", | |
"description": "", | |
"type": "datasource", | |
"pluginId": "grafana-googlesheets-datasource", | |
"pluginName": "Google Sheets" | |
} |
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": { | |
"type": "datasource", | |
"uid": "grafana" | |
}, | |
"enable": true, |
aliases:
{ | |
"annotations": { | |
"list": [ | |
{ | |
"builtIn": 1, | |
"datasource": { | |
"type": "grafana", | |
"uid": "-- Grafana --" | |
}, | |
"enable": true, |
import { of } from 'rxjs'; | |
import { map, toArray, mergeMap, delay, catchError } from 'rxjs/operators'; | |
describe('subscribe & assert testing in RxJS', () => { | |
it('should compare each emitted value', () => { | |
const source$ = of(1,2,3) | |
const final$ = source$.pipe(map(value => value * 10)) | |
// array with expected values | |
const expected = [10, 20, 30] |
Multi search API. Executes several searches with a single API request.
Query parameters that we add:
import { TestScheduler } from 'rxjs/testing'; | |
import { map, concatWith, take, delay } from 'rxjs/operators'; | |
import { from, of, catchError, interval } from 'rxjs'; | |
describe('Marble testing', () => { | |
let testScheduler; | |
beforeEach(() => { | |
testScheduler = new TestScheduler((actual, expected) => { | |
expect(actual).toEqual(expected); |
const express = require('express'); | |
const cors = require('cors'); | |
const faker = require('faker'); | |
const app = express(); | |
const data = []; | |
for (let i = 0; i < 200000; i++) { | |
let firstName = faker.name.firstName(); |