1

elapsedtimeの測定値と のタグを持つ InfluxDB バケットがあるプロジェクトに取り組んでいserviceます。過去 1 時間のすべてのデータポイントをサービスとして取得できるように、Influx にクエリを実行したいと考えていますfoobar。理想的には、経過時間を取得するシステムとそれを Influx に書き込むシステムが異なり、その間に約 1 ~ 2 分の遅延があるため、後で時間測定を追加して、1 時間の基準にすることができます。

hereからいくつかのサンプルコードを取得しましたが、何を変更する必要があるのか​​わからず、ドキュメントを理解できなかったため、ほぼ同じコードを取得しました (頭が曇っていますか?)。

elapsedtimeこれの最終的な目標は、Influx をクエリするアプリケーションをクエリするときにサービスを示すグラフを作成できるようにすることです。サービスと時間の事前設定されたリストに基づいてクエリを実行できるようにしたいと考えていますが、それはアプリケーション側の問題であり、これが最終的に何をもたらしたいかについてのコンテキストとしてここに示しています。

...
variables that define bucket, url, org and token
...
const queryApi = new InfluxDB({url, token}).getQueryApi(org)
const fluxQuery =
  `from(bucket:"${bucket}") |> range(start: 0) |> filter(fn: (r) => r._measurement == "elapsedTime")`

console.log('*** QUERY ROWS ***')
// Execute query and receive table metadata and rows.
// https://v2.docs.influxdata.com/v2.0/reference/syntax/annotated-csv/
queryApi.queryRows(fluxQuery, {
  next(row: string[], tableMeta: FluxTableMetaData) {
    const o = tableMeta.toObject(row)
    console.log(
      `${o._time} ${o._measurement} in '${o.location}' (${o.example}): ${o._field}=${o._value}`
    )
  },
  error(error: Error) {
    console.error(error)
  },
  complete() {
    console.log('\nFinished SUCCESS')
  },
})

これを実行すると、そこに余分な値に関するエラーが表示されますが、例には正しいコードが含まれていると予想されるため、更新する必要があるものがない可能性がありますか?

  next(row: string[], tableMeta: FluxTableMetaData) {
          ^

SyntaxError: Unexpected token ':'
    at wrapSafe (internal/modules/cjs/loader.js:992:16)
    at Module._compile (internal/modules/cjs/loader.js:1040:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:941:32)
    at Function.Module._load (internal/modules/cjs/loader.js:782:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
    at internal/main/run_main_module.js:17:47
4

1 に答える 1