diff --git a/package.json b/package.json index 643f7d844b4..6e25e11cf37 100644 --- a/package.json +++ b/package.json @@ -123,6 +123,7 @@ "redux-mock-store": "1.5.3", "regexp-replace-loader": "1.0.1", "rimraf": "2.6.3", + "rxjs-spy": "^7.5.1", "sass-lint": "1.12.1", "sass-loader": "7.1.0", "sinon": "1.17.6", diff --git a/public/app/features/dashboard/state/runRequest.ts b/public/app/features/dashboard/state/runRequest.ts index 4f12d470d23..7000ede35b3 100644 --- a/public/app/features/dashboard/state/runRequest.ts +++ b/public/app/features/dashboard/state/runRequest.ts @@ -13,7 +13,6 @@ import { DataQueryResponseData, DataQueryError, } from '@grafana/ui'; - import { LoadingState, dateMath, toDataFrame, DataFrame, guessFieldTypes } from '@grafana/data'; type MapOfResponsePackets = { [str: string]: DataQueryResponse }; diff --git a/public/app/plugins/datasource/loki/live_streams.test.ts b/public/app/plugins/datasource/loki/live_streams.test.ts index 2c4cd06fa0e..e1e6f3f030c 100644 --- a/public/app/plugins/datasource/loki/live_streams.test.ts +++ b/public/app/plugins/datasource/loki/live_streams.test.ts @@ -37,10 +37,9 @@ describe('Live Stream Tests', () => { const labels: Labels = { job: 'varlogs' }; const target = makeTarget('fake', labels); const stream = new LiveStreams().getStream(target); - expect.assertions(5); + expect.assertions(4); const tests = [ - (val: DataFrame[]) => expect(val).toEqual([]), (val: DataFrame[]) => { expect(val[0].length).toEqual(7); expect(val[0].labels).toEqual(labels); diff --git a/public/app/plugins/datasource/loki/live_streams.ts b/public/app/plugins/datasource/loki/live_streams.ts index b3f6f5997e5..b23ae1be129 100644 --- a/public/app/plugins/datasource/loki/live_streams.ts +++ b/public/app/plugins/datasource/loki/live_streams.ts @@ -1,8 +1,8 @@ import { DataFrame, FieldType, parseLabels, KeyValue, CircularDataFrame } from '@grafana/data'; -import { Observable, BehaviorSubject } from 'rxjs'; +import { Observable } from 'rxjs'; import { webSocket } from 'rxjs/webSocket'; import { LokiResponse } from './types'; -import { finalize, map, multicast, refCount } from 'rxjs/operators'; +import { finalize, map } from 'rxjs/operators'; import { appendResponseToBufferedData } from './result_transformer'; /** @@ -32,7 +32,6 @@ export class LiveStreams { data.addField({ name: 'line', type: FieldType.string }); data.addField({ name: 'labels', type: FieldType.other }); - const subject = new BehaviorSubject([]); stream = webSocket(target.url).pipe( finalize(() => { delete this.streams[target.url]; @@ -40,9 +39,7 @@ export class LiveStreams { map((response: LokiResponse) => { appendResponseToBufferedData(response, data); return [data]; - }), - multicast(subject), - refCount() + }) ); this.streams[target.url] = stream; } diff --git a/yarn.lock b/yarn.lock index 2a99def15fb..150d44cec75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2725,6 +2725,11 @@ dependencies: "@types/node" "*" +"@types/circular-json@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@types/circular-json/-/circular-json-0.4.0.tgz#7401f7e218cfe87ad4c43690da5658b9acaf51be" + integrity sha512-7+kYB7x5a7nFWW1YPBh3KxhwKfiaI4PbZ1RvzBU91LZy7lWJO822CI+pqzSre/DZ7KsCuMKdHnLHHFu8AyXbQg== + "@types/classnames@2.2.7": version "2.2.7" resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.7.tgz#fb68cc9be8487e6ea5b13700e759bfbab7e0fefd" @@ -3471,6 +3476,11 @@ version "1.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" +"@types/stacktrace-js@^0.0.32": + version "0.0.32" + resolved "https://registry.yarnpkg.com/@types/stacktrace-js/-/stacktrace-js-0.0.32.tgz#d23e4a36a5073d39487fbea8234cc6186862d389" + integrity sha512-SdxmlrHfO0BxgbBP9HZWMUo2rima8lwMjPiWm6S0dyKkDa5CseamktFhXg8umu3TPVBkSlX6ZoB5uUDJK89yvg== + "@types/storybook__addon-actions@3.4.2": version "3.4.2" resolved "https://registry.yarnpkg.com/@types/storybook__addon-actions/-/storybook__addon-actions-3.4.2.tgz#1d08689cc3259269ddb3479a2307c9d16944309e" @@ -5441,6 +5451,11 @@ circular-json@^0.3.1: version "0.3.3" resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" +circular-json@^0.5.0: + version "0.5.9" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d" + integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ== + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -16103,6 +16118,17 @@ rx-lite@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102" +rxjs-spy@^7.5.1: + version "7.5.1" + resolved "https://registry.yarnpkg.com/rxjs-spy/-/rxjs-spy-7.5.1.tgz#1a9ef50bc8d7dd00d9ecf3c54c00929231eaf319" + integrity sha512-dJ9mO4HvW2r16PsU15Qsc0RVkG7pFrfyCNTGx3vrxWje3kIgZ6QjMVnWblQxbniZ32lwLk/2x9+D2O6GhgXV/w== + dependencies: + "@types/circular-json" "^0.4.0" + "@types/stacktrace-js" "^0.0.32" + circular-json "^0.5.0" + error-stack-parser "^2.0.1" + stacktrace-gps "^3.0.2" + rxjs@6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" @@ -16879,6 +16905,11 @@ stackframe@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" +stackframe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.1.0.tgz#e3fc2eb912259479c9822f7d1f1ff365bd5cbc83" + integrity sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg== + stacktrace-gps@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.2.tgz#33f8baa4467323ab2bd1816efa279942ba431ccc" @@ -16886,6 +16917,14 @@ stacktrace-gps@^3.0.1: source-map "0.5.6" stackframe "^1.0.4" +stacktrace-gps@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/stacktrace-gps/-/stacktrace-gps-3.0.3.tgz#b89f84cc13bb925b96607e737b617c8715facf57" + integrity sha512-51Rr7dXkyFUKNmhY/vqZWK+EvdsfFSRiQVtgHTFlAdNIYaDD7bVh21yBHXaNWAvTD+w+QSjxHg7/v6Tz4veExA== + dependencies: + source-map "0.5.6" + stackframe "^1.1.0" + stacktrace-js@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/stacktrace-js/-/stacktrace-js-2.0.0.tgz#776ca646a95bc6c6b2b90776536a7fc72c6ddb58"