You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2026/08/13 10:43:04 UTC
(skywalking-horizon-ui) branch main updated: fix(i18n): address template translations by widget id, not array position (#120)
This is an automated email from the ASF dual-hosted git repository.
wu-sheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-horizon-ui.git
The following commit(s) were added to refs/heads/main by this push:
new 22ab25b fix(i18n): address template translations by widget id, not array position (#120)
22ab25b is described below
commit 22ab25bd7a52c6a8b5d39a13256881fc978f8ed4
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Thu Aug 13 18:42:59 2026 +0800
fix(i18n): address template translations by widget id, not array position (#120)
A translation overlay mirrored the source template's tree and matched
widgets by their index in the dashboard array. Reordering, inserting or
deleting a widget in the English source therefore slid every later
translation onto the wrong widget — silently, and only in the languages
the author doesn't read. The same hazard applied to a catalog exported
from one OAP and imported into another whose dashboard had since been
re-laid-out.
Overlay entries now carry the source widget's `id` and are merged by it.
An array is id-addressable only when every entry is an object with a
unique non-empty string id; everything else stays positional, which
keeps expression labels, table headers, an overview tile's KPI rows, a
`tab` widget's panels, and the deliberately id-repeating
`deployment.roleToRole[].metrics` behaving as before. An overlay id
addresses a source entry and never becomes one, so a catalog cannot
rename the widget or the dashboard it translates. Widgets nested in a
`tab` panel are addressed too.
The merge moves to `@skywalking-horizon-ui/api-client`, beside the
existing template-shape helpers, so the render path and the admin
editor's preview cannot disagree about what a locale shows. Legacy
overlays carrying no ids still merge positionally, so nothing has to be
migrated to keep rendering.
The 322 bundled catalogs are migrated by the seeder, which stamps ids on
both sides before merging — that stamping is the migration — and prunes
subtrees that translate nothing, since scaffolding the editor never
reproduces reads to it as an unpushed edit. Entries it cannot place are
reported rather than dropped in silence. Migration changes exactly one
rendered string across all 322 (template, locale) pairs, under both the
new merger and the previously released positional one: a BanyanDB table
header the lexicon can now fill, whose widget title was already
translated. A migrated catalog is therefore safe to publish to an OAP
that older instances read.
`i18n:validate` gains findings for an entry addressing a widget the
source no longer has, two entries claiming the same widget, an array
mixing id-addressed and positional entries, and a catalog that has not
been migrated. Both CLIs already had a directory-scoped entry point;
exporting it and guarding `main()` against import makes them testable
against temp fixtures, matching how `bundled-validate` is split. The
validator's negative cases are the point — a run over the shipped
catalogs only proves the happy path — and the seeder's are the
properties a bad rewrite breaks silently.
The Translations page gains one precedence contract, fixing several ways
it showed something other than the truth. Sources are layered in a
single ordered pass, because each pass treats what the previous one
wrote as untouchable in-progress work: the baseline, then the operator's
staged local draft, then whatever is being typed. Applying them in
separate passes made the FIRST source win, so a staged edit was replaced
by the published wording on reload and the next push wrote that wording
back and discarded the staged copy. The baseline follows the same rule
as the templates themselves — the remote row wins, and the disk catalog
reaches the runtime through exactly two doors, `templates.mode:
readonly` and the explicit reset-to-bundled preview. It used to sit
underneath the OAP row, so a field the published overlay didn't carry
showed the shipped translation while the live site served English, and
publishing adopted it.
Two translatable fields were also missing from the editor's field
walker, and a field it omits is not merely hidden from the translator —
it is dropped from every overlay the editor rebuilds, so publishing
deletes whatever the seeder had put there. `naming.alias` is the
dimension label the topology and 3D map print beside a cluster, excluded
as if it were a regex replacement though the capture groups are
`displayGroup` / `valueGroup`; `tabs[].name` is a tab widget's panel
label. The BFF seeder carried both all along.
---
.../bundled_templates/layers/activemq.i18n.de.json | 146 ++---
.../bundled_templates/layers/activemq.i18n.es.json | 25 +
.../bundled_templates/layers/activemq.i18n.fr.json | 25 +
.../bundled_templates/layers/activemq.i18n.ja.json | 25 +
.../bundled_templates/layers/activemq.i18n.ko.json | 25 +
.../bundled_templates/layers/activemq.i18n.pt.json | 25 +
.../layers/activemq.i18n.zh-CN.json | 160 +++++-
.../bundled_templates/layers/airflow.i18n.de.json | 123 +++-
.../bundled_templates/layers/airflow.i18n.es.json | 123 +++-
.../bundled_templates/layers/airflow.i18n.fr.json | 123 +++-
.../bundled_templates/layers/airflow.i18n.ja.json | 123 +++-
.../bundled_templates/layers/airflow.i18n.ko.json | 123 +++-
.../bundled_templates/layers/airflow.i18n.pt.json | 123 +++-
.../layers/airflow.i18n.zh-CN.json | 113 +++-
.../layers/alipay_mini_program.i18n.de.json | 78 +--
.../layers/alipay_mini_program.i18n.es.json | 13 +
.../layers/alipay_mini_program.i18n.fr.json | 13 +
.../layers/alipay_mini_program.i18n.ja.json | 13 +
.../layers/alipay_mini_program.i18n.ko.json | 13 +
.../layers/alipay_mini_program.i18n.pt.json | 13 +
.../layers/alipay_mini_program.i18n.zh-CN.json | 82 ++-
.../bundled_templates/layers/apisix.i18n.de.json | 117 ++--
.../bundled_templates/layers/apisix.i18n.es.json | 20 +
.../bundled_templates/layers/apisix.i18n.fr.json | 20 +
.../bundled_templates/layers/apisix.i18n.ja.json | 20 +
.../bundled_templates/layers/apisix.i18n.ko.json | 20 +
.../bundled_templates/layers/apisix.i18n.pt.json | 20 +
.../layers/apisix.i18n.zh-CN.json | 116 +++-
.../layers/aws_dynamodb.i18n.de.json | 142 ++---
.../layers/aws_dynamodb.i18n.es.json | 25 +
.../layers/aws_dynamodb.i18n.fr.json | 25 +
.../layers/aws_dynamodb.i18n.ja.json | 25 +
.../layers/aws_dynamodb.i18n.ko.json | 25 +
.../layers/aws_dynamodb.i18n.pt.json | 25 +
.../layers/aws_dynamodb.i18n.zh-CN.json | 191 ++++++-
.../bundled_templates/layers/aws_eks.i18n.de.json | 129 ++---
.../bundled_templates/layers/aws_eks.i18n.es.json | 21 +
.../bundled_templates/layers/aws_eks.i18n.fr.json | 21 +
.../bundled_templates/layers/aws_eks.i18n.ja.json | 21 +
.../bundled_templates/layers/aws_eks.i18n.ko.json | 21 +
.../bundled_templates/layers/aws_eks.i18n.pt.json | 21 +
.../layers/aws_eks.i18n.zh-CN.json | 132 ++++-
.../layers/aws_gateway.i18n.de.json | 96 ++--
.../layers/aws_gateway.i18n.es.json | 16 +
.../layers/aws_gateway.i18n.fr.json | 16 +
.../layers/aws_gateway.i18n.ja.json | 16 +
.../layers/aws_gateway.i18n.ko.json | 16 +
.../layers/aws_gateway.i18n.pt.json | 16 +
.../layers/aws_gateway.i18n.zh-CN.json | 97 +++-
.../bundled_templates/layers/aws_s3.i18n.de.json | 60 +-
.../bundled_templates/layers/aws_s3.i18n.es.json | 10 +
.../bundled_templates/layers/aws_s3.i18n.fr.json | 10 +
.../bundled_templates/layers/aws_s3.i18n.ja.json | 10 +
.../bundled_templates/layers/aws_s3.i18n.ko.json | 10 +
.../bundled_templates/layers/aws_s3.i18n.pt.json | 10 +
.../layers/aws_s3.i18n.zh-CN.json | 66 ++-
.../bundled_templates/layers/banyandb.i18n.de.json | 89 ++-
.../bundled_templates/layers/banyandb.i18n.es.json | 89 ++-
.../bundled_templates/layers/banyandb.i18n.fr.json | 89 ++-
.../bundled_templates/layers/banyandb.i18n.ja.json | 89 ++-
.../bundled_templates/layers/banyandb.i18n.ko.json | 89 ++-
.../bundled_templates/layers/banyandb.i18n.pt.json | 89 ++-
.../layers/banyandb.i18n.zh-CN.json | 89 ++-
.../layers/bookkeeper.i18n.de.json | 92 +--
.../layers/bookkeeper.i18n.es.json | 14 +
.../layers/bookkeeper.i18n.fr.json | 14 +
.../layers/bookkeeper.i18n.ja.json | 14 +
.../layers/bookkeeper.i18n.ko.json | 14 +
.../layers/bookkeeper.i18n.pt.json | 14 +
.../layers/bookkeeper.i18n.zh-CN.json | 100 +++-
.../bundled_templates/layers/browser.i18n.de.json | 114 +---
.../bundled_templates/layers/browser.i18n.es.json | 16 +
.../bundled_templates/layers/browser.i18n.fr.json | 16 +
.../bundled_templates/layers/browser.i18n.ja.json | 16 +
.../bundled_templates/layers/browser.i18n.ko.json | 16 +
.../bundled_templates/layers/browser.i18n.pt.json | 16 +
.../layers/browser.i18n.zh-CN.json | 102 +++-
.../layers/cilium_service.i18n.de.json | 175 ++----
.../layers/cilium_service.i18n.es.json | 51 +-
.../layers/cilium_service.i18n.fr.json | 51 +-
.../layers/cilium_service.i18n.ja.json | 51 +-
.../layers/cilium_service.i18n.ko.json | 51 +-
.../layers/cilium_service.i18n.pt.json | 51 +-
.../layers/cilium_service.i18n.zh-CN.json | 209 +++++--
.../layers/clickhouse.i18n.de.json | 183 ++----
.../layers/clickhouse.i18n.es.json | 31 +
.../layers/clickhouse.i18n.fr.json | 31 +
.../layers/clickhouse.i18n.ja.json | 31 +
.../layers/clickhouse.i18n.ko.json | 31 +
.../layers/clickhouse.i18n.pt.json | 31 +
.../layers/clickhouse.i18n.zh-CN.json | 193 +++++--
.../layers/elasticsearch.i18n.de.json | 192 ++-----
.../layers/elasticsearch.i18n.es.json | 31 +
.../layers/elasticsearch.i18n.fr.json | 31 +
.../layers/elasticsearch.i18n.ja.json | 31 +
.../layers/elasticsearch.i18n.ko.json | 31 +
.../layers/elasticsearch.i18n.pt.json | 31 +
.../layers/elasticsearch.i18n.zh-CN.json | 190 +++++--
.../layers/envoy_ai_gateway.i18n.de.json | 158 ++----
.../layers/envoy_ai_gateway.i18n.es.json | 27 +
.../layers/envoy_ai_gateway.i18n.fr.json | 27 +
.../layers/envoy_ai_gateway.i18n.ja.json | 27 +
.../layers/envoy_ai_gateway.i18n.ko.json | 27 +
.../layers/envoy_ai_gateway.i18n.pt.json | 27 +
.../layers/envoy_ai_gateway.i18n.zh-CN.json | 151 ++++-
.../bundled_templates/layers/flink.i18n.de.json | 212 ++-----
.../bundled_templates/layers/flink.i18n.es.json | 35 ++
.../bundled_templates/layers/flink.i18n.fr.json | 35 ++
.../bundled_templates/layers/flink.i18n.ja.json | 35 ++
.../bundled_templates/layers/flink.i18n.ko.json | 35 ++
.../bundled_templates/layers/flink.i18n.pt.json | 35 ++
.../bundled_templates/layers/flink.i18n.zh-CN.json | 213 +++++--
.../bundled_templates/layers/general.i18n.de.json | 627 +++++++--------------
.../bundled_templates/layers/general.i18n.es.json | 223 ++++++--
.../bundled_templates/layers/general.i18n.fr.json | 223 ++++++--
.../bundled_templates/layers/general.i18n.ja.json | 223 ++++++--
.../bundled_templates/layers/general.i18n.ko.json | 223 ++++++--
.../bundled_templates/layers/general.i18n.pt.json | 223 ++++++--
.../layers/general.i18n.zh-CN.json | 586 ++++++++++++++-----
.../src/bundled_templates/layers/ios.i18n.de.json | 123 ++--
.../src/bundled_templates/layers/ios.i18n.es.json | 19 +
.../src/bundled_templates/layers/ios.i18n.fr.json | 19 +
.../src/bundled_templates/layers/ios.i18n.ja.json | 19 +
.../src/bundled_templates/layers/ios.i18n.ko.json | 19 +
.../src/bundled_templates/layers/ios.i18n.pt.json | 19 +
.../bundled_templates/layers/ios.i18n.zh-CN.json | 112 +++-
.../src/bundled_templates/layers/k8s.i18n.de.json | 145 ++---
.../src/bundled_templates/layers/k8s.i18n.es.json | 41 +-
.../src/bundled_templates/layers/k8s.i18n.fr.json | 41 +-
.../src/bundled_templates/layers/k8s.i18n.ja.json | 41 +-
.../src/bundled_templates/layers/k8s.i18n.ko.json | 41 +-
.../src/bundled_templates/layers/k8s.i18n.pt.json | 41 +-
.../bundled_templates/layers/k8s.i18n.zh-CN.json | 164 +++++-
.../layers/k8s_service.i18n.de.json | 206 +++----
.../layers/k8s_service.i18n.es.json | 73 ++-
.../layers/k8s_service.i18n.fr.json | 73 ++-
.../layers/k8s_service.i18n.ja.json | 73 ++-
.../layers/k8s_service.i18n.ko.json | 73 ++-
.../layers/k8s_service.i18n.pt.json | 73 ++-
.../layers/k8s_service.i18n.zh-CN.json | 257 +++++++--
.../bundled_templates/layers/kafka.i18n.de.json | 142 ++---
.../bundled_templates/layers/kafka.i18n.es.json | 24 +
.../bundled_templates/layers/kafka.i18n.fr.json | 24 +
.../bundled_templates/layers/kafka.i18n.ja.json | 24 +
.../bundled_templates/layers/kafka.i18n.ko.json | 24 +
.../bundled_templates/layers/kafka.i18n.pt.json | 24 +
.../bundled_templates/layers/kafka.i18n.zh-CN.json | 144 ++++-
.../src/bundled_templates/layers/kong.i18n.de.json | 154 ++---
.../src/bundled_templates/layers/kong.i18n.es.json | 26 +
.../src/bundled_templates/layers/kong.i18n.fr.json | 26 +
.../src/bundled_templates/layers/kong.i18n.ja.json | 26 +
.../src/bundled_templates/layers/kong.i18n.ko.json | 26 +
.../src/bundled_templates/layers/kong.i18n.pt.json | 26 +
.../bundled_templates/layers/kong.i18n.zh-CN.json | 147 ++++-
.../src/bundled_templates/layers/mesh.i18n.de.json | 246 ++++----
.../src/bundled_templates/layers/mesh.i18n.es.json | 95 +++-
.../src/bundled_templates/layers/mesh.i18n.fr.json | 95 +++-
.../src/bundled_templates/layers/mesh.i18n.ja.json | 95 +++-
.../src/bundled_templates/layers/mesh.i18n.ko.json | 95 +++-
.../src/bundled_templates/layers/mesh.i18n.pt.json | 95 +++-
.../bundled_templates/layers/mesh.i18n.zh-CN.json | 266 +++++++--
.../bundled_templates/layers/mesh_cp.i18n.de.json | 70 +--
.../bundled_templates/layers/mesh_cp.i18n.es.json | 11 +
.../bundled_templates/layers/mesh_cp.i18n.fr.json | 11 +
.../bundled_templates/layers/mesh_cp.i18n.ja.json | 11 +
.../bundled_templates/layers/mesh_cp.i18n.ko.json | 11 +
.../bundled_templates/layers/mesh_cp.i18n.pt.json | 11 +
.../layers/mesh_cp.i18n.zh-CN.json | 85 ++-
.../bundled_templates/layers/mesh_dp.i18n.de.json | 67 +--
.../bundled_templates/layers/mesh_dp.i18n.es.json | 11 +
.../bundled_templates/layers/mesh_dp.i18n.fr.json | 11 +
.../bundled_templates/layers/mesh_dp.i18n.ja.json | 11 +
.../bundled_templates/layers/mesh_dp.i18n.ko.json | 11 +
.../bundled_templates/layers/mesh_dp.i18n.pt.json | 11 +
.../layers/mesh_dp.i18n.zh-CN.json | 30 +-
.../bundled_templates/layers/mongodb.i18n.de.json | 151 ++---
.../bundled_templates/layers/mongodb.i18n.es.json | 27 +
.../bundled_templates/layers/mongodb.i18n.fr.json | 27 +
.../bundled_templates/layers/mongodb.i18n.ja.json | 27 +
.../bundled_templates/layers/mongodb.i18n.ko.json | 27 +
.../bundled_templates/layers/mongodb.i18n.pt.json | 27 +
.../layers/mongodb.i18n.zh-CN.json | 161 +++++-
.../bundled_templates/layers/mysql.i18n.de.json | 102 +---
.../bundled_templates/layers/mysql.i18n.es.json | 17 +
.../bundled_templates/layers/mysql.i18n.fr.json | 17 +
.../bundled_templates/layers/mysql.i18n.ja.json | 17 +
.../bundled_templates/layers/mysql.i18n.ko.json | 17 +
.../bundled_templates/layers/mysql.i18n.pt.json | 17 +
.../bundled_templates/layers/mysql.i18n.zh-CN.json | 113 +++-
.../bundled_templates/layers/nginx.i18n.de.json | 132 ++---
.../bundled_templates/layers/nginx.i18n.es.json | 22 +
.../bundled_templates/layers/nginx.i18n.fr.json | 22 +
.../bundled_templates/layers/nginx.i18n.ja.json | 22 +
.../bundled_templates/layers/nginx.i18n.ko.json | 22 +
.../bundled_templates/layers/nginx.i18n.pt.json | 22 +
.../bundled_templates/layers/nginx.i18n.zh-CN.json | 122 +++-
.../bundled_templates/layers/os_linux.i18n.de.json | 54 +-
.../bundled_templates/layers/os_linux.i18n.es.json | 9 +
.../bundled_templates/layers/os_linux.i18n.fr.json | 9 +
.../bundled_templates/layers/os_linux.i18n.ja.json | 9 +
.../bundled_templates/layers/os_linux.i18n.ko.json | 9 +
.../bundled_templates/layers/os_linux.i18n.pt.json | 9 +
.../layers/os_linux.i18n.zh-CN.json | 73 ++-
.../layers/os_windows.i18n.de.json | 27 +-
.../layers/os_windows.i18n.es.json | 5 +
.../layers/os_windows.i18n.fr.json | 5 +
.../layers/os_windows.i18n.ja.json | 5 +
.../layers/os_windows.i18n.ko.json | 5 +
.../layers/os_windows.i18n.pt.json | 5 +
.../layers/os_windows.i18n.zh-CN.json | 42 +-
.../layers/postgresql.i18n.de.json | 132 ++---
.../layers/postgresql.i18n.es.json | 22 +
.../layers/postgresql.i18n.fr.json | 22 +
.../layers/postgresql.i18n.ja.json | 22 +
.../layers/postgresql.i18n.ko.json | 22 +
.../layers/postgresql.i18n.pt.json | 22 +
.../layers/postgresql.i18n.zh-CN.json | 136 ++++-
.../bundled_templates/layers/pulsar.i18n.de.json | 108 +---
.../bundled_templates/layers/pulsar.i18n.es.json | 18 +
.../bundled_templates/layers/pulsar.i18n.fr.json | 18 +
.../bundled_templates/layers/pulsar.i18n.ja.json | 18 +
.../bundled_templates/layers/pulsar.i18n.ko.json | 18 +
.../bundled_templates/layers/pulsar.i18n.pt.json | 18 +
.../layers/pulsar.i18n.zh-CN.json | 116 +++-
.../bundled_templates/layers/rabbitmq.i18n.de.json | 145 ++---
.../bundled_templates/layers/rabbitmq.i18n.es.json | 24 +
.../bundled_templates/layers/rabbitmq.i18n.fr.json | 24 +
.../bundled_templates/layers/rabbitmq.i18n.ja.json | 24 +
.../bundled_templates/layers/rabbitmq.i18n.ko.json | 24 +
.../bundled_templates/layers/rabbitmq.i18n.pt.json | 24 +
.../layers/rabbitmq.i18n.zh-CN.json | 153 ++++-
.../bundled_templates/layers/redis.i18n.de.json | 124 ++--
.../bundled_templates/layers/redis.i18n.es.json | 21 +
.../bundled_templates/layers/redis.i18n.fr.json | 21 +
.../bundled_templates/layers/redis.i18n.ja.json | 21 +
.../bundled_templates/layers/redis.i18n.ko.json | 21 +
.../bundled_templates/layers/redis.i18n.pt.json | 21 +
.../bundled_templates/layers/redis.i18n.zh-CN.json | 123 +++-
.../bundled_templates/layers/rocketmq.i18n.de.json | 144 ++---
.../bundled_templates/layers/rocketmq.i18n.es.json | 25 +
.../bundled_templates/layers/rocketmq.i18n.fr.json | 25 +
.../bundled_templates/layers/rocketmq.i18n.ja.json | 25 +
.../bundled_templates/layers/rocketmq.i18n.ko.json | 25 +
.../bundled_templates/layers/rocketmq.i18n.pt.json | 25 +
.../layers/rocketmq.i18n.zh-CN.json | 143 ++++-
.../layers/so11y_go_agent.i18n.de.json | 40 +-
.../layers/so11y_go_agent.i18n.es.json | 7 +
.../layers/so11y_go_agent.i18n.fr.json | 7 +
.../layers/so11y_go_agent.i18n.ja.json | 7 +
.../layers/so11y_go_agent.i18n.ko.json | 7 +
.../layers/so11y_go_agent.i18n.pt.json | 7 +
.../layers/so11y_go_agent.i18n.zh-CN.json | 37 +-
.../layers/so11y_java_agent.i18n.de.json | 40 +-
.../layers/so11y_java_agent.i18n.es.json | 7 +
.../layers/so11y_java_agent.i18n.fr.json | 7 +
.../layers/so11y_java_agent.i18n.ja.json | 7 +
.../layers/so11y_java_agent.i18n.ko.json | 7 +
.../layers/so11y_java_agent.i18n.pt.json | 7 +
.../layers/so11y_java_agent.i18n.zh-CN.json | 37 +-
.../layers/so11y_oap.i18n.de.json | 153 ++---
.../layers/so11y_oap.i18n.es.json | 26 +
.../layers/so11y_oap.i18n.fr.json | 26 +
.../layers/so11y_oap.i18n.ja.json | 26 +
.../layers/so11y_oap.i18n.ko.json | 26 +
.../layers/so11y_oap.i18n.pt.json | 26 +
.../layers/so11y_oap.i18n.zh-CN.json | 153 ++++-
.../layers/so11y_satellite.i18n.de.json | 35 +-
.../layers/so11y_satellite.i18n.es.json | 6 +
.../layers/so11y_satellite.i18n.fr.json | 6 +
.../layers/so11y_satellite.i18n.ja.json | 6 +
.../layers/so11y_satellite.i18n.ko.json | 6 +
.../layers/so11y_satellite.i18n.pt.json | 6 +
.../layers/so11y_satellite.i18n.zh-CN.json | 31 +-
.../layers/virtual_cache.i18n.de.json | 84 +--
.../layers/virtual_cache.i18n.es.json | 14 +
.../layers/virtual_cache.i18n.fr.json | 14 +
.../layers/virtual_cache.i18n.ja.json | 14 +
.../layers/virtual_cache.i18n.ko.json | 14 +
.../layers/virtual_cache.i18n.pt.json | 14 +
.../layers/virtual_cache.i18n.zh-CN.json | 78 ++-
.../layers/virtual_database.i18n.de.json | 30 +-
.../layers/virtual_database.i18n.es.json | 5 +
.../layers/virtual_database.i18n.fr.json | 5 +
.../layers/virtual_database.i18n.ja.json | 5 +
.../layers/virtual_database.i18n.ko.json | 5 +
.../layers/virtual_database.i18n.pt.json | 5 +
.../layers/virtual_database.i18n.zh-CN.json | 35 +-
.../layers/virtual_genai.i18n.de.json | 21 +
.../layers/virtual_genai.i18n.es.json | 21 +
.../layers/virtual_genai.i18n.fr.json | 21 +
.../layers/virtual_genai.i18n.ja.json | 21 +
.../layers/virtual_genai.i18n.ko.json | 21 +
.../layers/virtual_genai.i18n.pt.json | 21 +
.../layers/virtual_genai.i18n.zh-CN.json | 124 +++-
.../layers/virtual_mq.i18n.de.json | 72 +--
.../layers/virtual_mq.i18n.es.json | 12 +
.../layers/virtual_mq.i18n.fr.json | 12 +
.../layers/virtual_mq.i18n.ja.json | 12 +
.../layers/virtual_mq.i18n.ko.json | 12 +
.../layers/virtual_mq.i18n.pt.json | 12 +
.../layers/virtual_mq.i18n.zh-CN.json | 73 ++-
.../layers/wechat_mini_program.i18n.de.json | 114 ++--
.../layers/wechat_mini_program.i18n.es.json | 19 +
.../layers/wechat_mini_program.i18n.fr.json | 19 +
.../layers/wechat_mini_program.i18n.ja.json | 19 +
.../layers/wechat_mini_program.i18n.ko.json | 19 +
.../layers/wechat_mini_program.i18n.pt.json | 19 +
.../layers/wechat_mini_program.i18n.zh-CN.json | 108 +++-
.../bundled_templates/overviews/mesh.i18n.de.json | 11 +-
.../bundled_templates/overviews/mesh.i18n.es.json | 11 +-
.../bundled_templates/overviews/mesh.i18n.fr.json | 11 +-
.../bundled_templates/overviews/mesh.i18n.ja.json | 11 +-
.../bundled_templates/overviews/mesh.i18n.ko.json | 11 +-
.../bundled_templates/overviews/mesh.i18n.pt.json | 11 +-
.../overviews/mesh.i18n.zh-CN.json | 11 +-
.../overviews/services.i18n.de.json | 11 +
.../overviews/services.i18n.es.json | 11 +
.../overviews/services.i18n.fr.json | 11 +
.../overviews/services.i18n.ja.json | 11 +
.../overviews/services.i18n.ko.json | 11 +
.../overviews/services.i18n.pt.json | 11 +
.../overviews/services.i18n.zh-CN.json | 11 +
apps/bff/src/i18n/merge.ts | 56 +-
apps/bff/src/i18n/seed.test.ts | 153 +++++
apps/bff/src/i18n/seed.ts | 155 ++++-
apps/bff/src/i18n/validate.test.ts | 116 ++++
apps/bff/src/i18n/validate.ts | 131 ++++-
.../features/admin/_shared/translatableFields.ts | 22 +-
.../admin/translations/useTranslationDraft.ts | 180 +++---
docs/changelog/1.0.0.md | 4 +
docs/customization/adding-a-new-layer.md | 2 +-
docs/customization/i18n.md | 14 +-
packages/api-client/src/index.ts | 8 +
packages/api-client/src/template-i18n.test.ts | 389 +++++++++++++
packages/api-client/src/template-i18n.ts | 252 +++++++++
335 files changed, 14348 insertions(+), 5620 deletions(-)
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.de.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.de.json
index 310eaff..cba3caa 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.de.json
@@ -20,36 +20,24 @@
"dashboards": {
"service": [
{
- "title": "Systemlast Mittel",
- "expressions": [
- null
- ]
+ "id": "load",
+ "title": "Systemlast Mittel"
},
{
- "title": "Thread-Anzahl",
- "expressions": [
- null
- ]
+ "id": "threads",
+ "title": "Thread-Anzahl"
},
{
- "title": "Heap genutzt (MB)",
- "expressions": [
- null
- ]
+ "id": "heap_used",
+ "title": "Heap genutzt (MB)"
},
{
- "title": "Heap max (MB)",
- "expressions": [
- null
- ]
+ "id": "heap_max",
+ "title": "Heap max (MB)"
},
{
+ "id": "enqueue_dequeue",
"title": "Enqueue / Dequeue / Dispatch /s",
- "expressions": [
- null,
- null,
- null
- ],
"expressionLabels": [
"enqueue",
"dequeue",
@@ -57,39 +45,28 @@
]
},
{
- "title": "Abgelaufen /s",
- "expressions": [
- null
- ]
+ "id": "expired_rate",
+ "title": "Abgelaufen /s"
},
{
+ "id": "enqueue_time",
"title": "Enqueue-Zeit",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"mittel",
"max"
]
},
{
+ "id": "gc_counts",
"title": "GC-Anzahl (G1+Parallel)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"old",
"young"
]
},
{
+ "id": "gc_time",
"title": "GC-Zeit (ms)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"old",
"young"
@@ -98,119 +75,83 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "Verbindungen",
- "tip": "Aktuelle TCP/JMS-Verbindungen zu diesem Broker.",
- "expressions": [
- null
- ]
+ "tip": "Aktuelle TCP/JMS-Verbindungen zu diesem Broker."
},
{
+ "id": "producer_count_card",
"title": "Producer-Anzahl",
- "tip": "Aktive Erzeuger-Sitzungen auf diesem Broker.",
- "expressions": [
- null
- ]
+ "tip": "Aktive Erzeuger-Sitzungen auf diesem Broker."
},
{
+ "id": "consumer_count_card",
"title": "Consumer-Anzahl",
- "tip": "Aktive Verbraucher-Sitzungen auf diesem Broker.",
- "expressions": [
- null
- ]
+ "tip": "Aktive Verbraucher-Sitzungen auf diesem Broker."
},
{
+ "id": "uptime_card",
"title": "Uptime",
- "tip": "Broker-Uptime in Stunden seit letztem Neustart.",
- "expressions": [
- null
- ]
+ "tip": "Broker-Uptime in Stunden seit letztem Neustart."
},
{
- "title": "Verbindungen (Trend)",
- "expressions": [
- null
- ]
+ "id": "connections_line",
+ "title": "Verbindungen (Trend)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "Enqueue / Dequeue Anzahl",
"tip": "Enqueue + Dequeue pro Minute über alle Ziele auf diesem Broker.",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"enqueue",
"dequeue"
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "Producer / Consumer Zuwachs",
"tip": "Pro Minute neu geöffnete Producer- + Consumer-Sitzungen.",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"neue producers",
"neue consumers"
]
},
{
+ "id": "memory_usage_line",
"title": "Speichernutzung",
- "tip": "Aggregierte Speichernutzung über alle Ziele (MB).",
- "expressions": [
- null
- ]
+ "tip": "Aggregierte Speichernutzung über alle Ziele (MB)."
},
{
+ "id": "memory_limit_line",
"title": "Speicher-Limit",
- "tip": "Konfigurierte Speicher-Obergrenze über alle Ziele (GB).",
- "expressions": [
- null
- ]
+ "tip": "Konfigurierte Speicher-Obergrenze über alle Ziele (GB)."
},
{
+ "id": "message_size_line",
"title": "Mittlere Nachrichtengröße",
- "tip": "Durchschnittliche Nachrichtengröße über alle Ziele.",
- "expressions": [
- null
- ]
+ "tip": "Durchschnittliche Nachrichtengröße über alle Ziele."
}
],
"endpoint": [
{
- "title": "Producer-Anzahl",
- "expressions": [
- null
- ]
+ "id": "producer",
+ "title": "Producer-Anzahl"
},
{
- "title": "Consumer-Anzahl",
- "expressions": [
- null
- ]
+ "id": "consumer",
+ "title": "Consumer-Anzahl"
},
{
- "title": "Queue-Größe",
- "expressions": [
- null
- ]
+ "id": "queue_size",
+ "title": "Queue-Größe"
},
{
- "title": "Speichernutzung (MB)",
- "expressions": [
- null
- ]
+ "id": "memory",
+ "title": "Speichernutzung (MB)"
},
{
+ "id": "messages",
"title": "Nachrichtenanzahl",
- "expressions": [
- null,
- null,
- null,
- null,
- null
- ],
"expressionLabels": [
"enqueue",
"dequeue",
@@ -220,11 +161,8 @@
]
},
{
+ "id": "enqueue_time",
"title": "Enqueue-Zeit (s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"mittel",
"max"
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.es.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.es.json
index 9e84cff..52af3f9 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.es.json
@@ -25,18 +25,23 @@
"dashboards": {
"service": [
{
+ "id": "load",
"title": "Load average del sistema"
},
{
+ "id": "threads",
"title": "Conteo de hilos"
},
{
+ "id": "heap_used",
"title": "Heap usado (MB)"
},
{
+ "id": "heap_max",
"title": "Heap máx (MB)"
},
{
+ "id": "enqueue_dequeue",
"title": "Enqueue / dequeue / dispatch /s",
"expressionLabels": [
"enqueue",
@@ -45,9 +50,11 @@
]
},
{
+ "id": "expired_rate",
"title": "Expirados /s"
},
{
+ "id": "enqueue_time",
"title": "Tiempo de enqueue",
"expressionLabels": [
"media",
@@ -55,6 +62,7 @@
]
},
{
+ "id": "gc_counts",
"title": "Conteo de GC (G1+Parallel)",
"expressionLabels": [
"old",
@@ -62,6 +70,7 @@
]
},
{
+ "id": "gc_time",
"title": "Tiempo de GC (ms)",
"expressionLabels": [
"old",
@@ -71,25 +80,31 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "Conexiones",
"tip": "Conexiones TCP/JMS actuales a este broker."
},
{
+ "id": "producer_count_card",
"title": "Conteo de productores",
"tip": "Sesiones de productor activas en este broker."
},
{
+ "id": "consumer_count_card",
"title": "Conteo de consumidores",
"tip": "Sesiones de consumidor activas en este broker."
},
{
+ "id": "uptime_card",
"title": "Uptime",
"tip": "Uptime del broker en horas desde el último reinicio."
},
{
+ "id": "connections_line",
"title": "Conexiones (tendencia)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "Conteo de enqueue / dequeue",
"tip": "Enqueue + dequeue por minuto en todos los destinos de este broker.",
"expressionLabels": [
@@ -98,6 +113,7 @@
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "Incremento de productores / consumidores",
"tip": "Sesiones de productor + consumidor nuevas abiertas por minuto.",
"expressionLabels": [
@@ -106,32 +122,40 @@
]
},
{
+ "id": "memory_usage_line",
"title": "Uso de memoria",
"tip": "Uso de memoria agregado en todos los destinos (MB)."
},
{
+ "id": "memory_limit_line",
"title": "Límite de memoria",
"tip": "Tope de memoria configurado en todos los destinos (GB)."
},
{
+ "id": "message_size_line",
"title": "Tamaño medio de mensaje",
"tip": "Tamaño medio de mensaje en todos los destinos."
}
],
"endpoint": [
{
+ "id": "producer",
"title": "Conteo de productores"
},
{
+ "id": "consumer",
"title": "Conteo de consumidores"
},
{
+ "id": "queue_size",
"title": "Tamaño de cola"
},
{
+ "id": "memory",
"title": "Uso de memoria (MB)"
},
{
+ "id": "messages",
"title": "Conteo de mensajes",
"expressionLabels": [
"enqueue",
@@ -142,6 +166,7 @@
]
},
{
+ "id": "enqueue_time",
"title": "Tiempo de enqueue (s)",
"expressionLabels": [
"media",
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.fr.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.fr.json
index dd90f97..58cc8c1 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.fr.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "load",
"title": "Load average système"
},
{
+ "id": "threads",
"title": "Nombre de threads"
},
{
+ "id": "heap_used",
"title": "Heap utilisé (Mo)"
},
{
+ "id": "heap_max",
"title": "Heap max (Mo)"
},
{
+ "id": "enqueue_dequeue",
"title": "Enqueue / Dequeue / Dispatch /s",
"expressionLabels": [
"enqueue",
@@ -40,9 +45,11 @@
]
},
{
+ "id": "expired_rate",
"title": "Expirés /s"
},
{
+ "id": "enqueue_time",
"title": "Temps d'enqueue",
"expressionLabels": [
"moy",
@@ -50,6 +57,7 @@
]
},
{
+ "id": "gc_counts",
"title": "Nombre de GC (G1+Parallèle)",
"expressionLabels": [
"ancien",
@@ -57,6 +65,7 @@
]
},
{
+ "id": "gc_time",
"title": "Temps GC (ms)",
"expressionLabels": [
"ancien",
@@ -66,25 +75,31 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "Connexions",
"tip": "Connexions TCP/JMS courantes vers ce broker."
},
{
+ "id": "producer_count_card",
"title": "Nombre de producers",
"tip": "Sessions producteur actives sur ce broker."
},
{
+ "id": "consumer_count_card",
"title": "Nombre de consumers",
"tip": "Sessions consommateur actives sur ce broker."
},
{
+ "id": "uptime_card",
"title": "Disponibilité",
"tip": "Disponibilité du broker en heures depuis le dernier redémarrage."
},
{
+ "id": "connections_line",
"title": "Connexions (tendance)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "Nombre d'enqueue / dequeue",
"tip": "Enqueue + dequeue par minute sur l'ensemble des destinations de ce broker.",
"expressionLabels": [
@@ -93,6 +108,7 @@
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "Augmentation producer / consumer",
"tip": "Nouvelles sessions producer + consumer ouvertes par minute.",
"expressionLabels": [
@@ -101,32 +117,40 @@
]
},
{
+ "id": "memory_usage_line",
"title": "Utilisation mémoire",
"tip": "Utilisation mémoire agrégée sur l'ensemble des destinations (Mo)."
},
{
+ "id": "memory_limit_line",
"title": "Limite mémoire",
"tip": "Plafond mémoire configuré sur l'ensemble des destinations (Go)."
},
{
+ "id": "message_size_line",
"title": "Taille de message moyenne",
"tip": "Taille moyenne des messages sur l'ensemble des destinations."
}
],
"endpoint": [
{
+ "id": "producer",
"title": "Nombre de producers"
},
{
+ "id": "consumer",
"title": "Nombre de consumers"
},
{
+ "id": "queue_size",
"title": "Taille de la file"
},
{
+ "id": "memory",
"title": "Utilisation mémoire (Mo)"
},
{
+ "id": "messages",
"title": "Nombre de messages",
"expressionLabels": [
"enqueue",
@@ -137,6 +161,7 @@
]
},
{
+ "id": "enqueue_time",
"title": "Temps d'enqueue (s)",
"expressionLabels": [
"moy",
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.ja.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.ja.json
index 9197480..6ccefb7 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.ja.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "load",
"title": "システムロードアベレージ"
},
{
+ "id": "threads",
"title": "スレッド数"
},
{
+ "id": "heap_used",
"title": "ヒープ使用中 (MB)"
},
{
+ "id": "heap_max",
"title": "ヒープ最大 (MB)"
},
{
+ "id": "enqueue_dequeue",
"title": "エンキュー / デキュー / ディスパッチ /s",
"expressionLabels": [
"エンキュー",
@@ -40,9 +45,11 @@
]
},
{
+ "id": "expired_rate",
"title": "期限切れ /s"
},
{
+ "id": "enqueue_time",
"title": "エンキュー時間",
"expressionLabels": [
"平均",
@@ -50,6 +57,7 @@
]
},
{
+ "id": "gc_counts",
"title": "GC 回数 (G1+Parallel)",
"expressionLabels": [
"old",
@@ -57,6 +65,7 @@
]
},
{
+ "id": "gc_time",
"title": "GC 時間 (ms)",
"expressionLabels": [
"old",
@@ -66,25 +75,31 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "接続",
"tip": "この Broker への現在の TCP/JMS 接続数。"
},
{
+ "id": "producer_count_card",
"title": "プロデューサー数",
"tip": "この Broker のアクティブなプロデューサーセッション。"
},
{
+ "id": "consumer_count_card",
"title": "コンシューマー数",
"tip": "この Broker のアクティブなコンシューマーセッション。"
},
{
+ "id": "uptime_card",
"title": "稼働時間",
"tip": "前回の再起動からの Broker 稼働時間(時間単位)。"
},
{
+ "id": "connections_line",
"title": "接続 (傾向)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "エンキュー / デキュー件数",
"tip": "この Broker の宛先全体での 1分あたりエンキュー + デキュー。",
"expressionLabels": [
@@ -93,6 +108,7 @@
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "プロデューサー / コンシューマー増分",
"tip": "1分あたりに開かれた新規プロデューサー + コンシューマーセッション。",
"expressionLabels": [
@@ -101,32 +117,40 @@
]
},
{
+ "id": "memory_usage_line",
"title": "メモリ使用率",
"tip": "宛先全体のメモリ使用量合計 (MB)。"
},
{
+ "id": "memory_limit_line",
"title": "メモリ上限",
"tip": "宛先全体の設定メモリ上限 (GB)。"
},
{
+ "id": "message_size_line",
"title": "平均メッセージサイズ",
"tip": "宛先全体での平均メッセージサイズ。"
}
],
"endpoint": [
{
+ "id": "producer",
"title": "プロデューサー数"
},
{
+ "id": "consumer",
"title": "コンシューマー数"
},
{
+ "id": "queue_size",
"title": "キューサイズ"
},
{
+ "id": "memory",
"title": "メモリ使用量 (MB)"
},
{
+ "id": "messages",
"title": "メッセージ数",
"expressionLabels": [
"エンキュー",
@@ -137,6 +161,7 @@
]
},
{
+ "id": "enqueue_time",
"title": "エンキュー時間 (s)",
"expressionLabels": [
"平均",
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.ko.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.ko.json
index 40ea5d1..29b4ebe 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.ko.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "load",
"title": "시스템 부하 평균"
},
{
+ "id": "threads",
"title": "스레드 수"
},
{
+ "id": "heap_used",
"title": "Heap 사용 (MB)"
},
{
+ "id": "heap_max",
"title": "Heap 최대 (MB)"
},
{
+ "id": "enqueue_dequeue",
"title": "Enqueue / Dequeue / Dispatch /s",
"expressionLabels": [
"enqueue",
@@ -40,9 +45,11 @@
]
},
{
+ "id": "expired_rate",
"title": "만료 /s"
},
{
+ "id": "enqueue_time",
"title": "Enqueue 시간",
"expressionLabels": [
"평균",
@@ -50,6 +57,7 @@
]
},
{
+ "id": "gc_counts",
"title": "GC 수 (G1+Parallel)",
"expressionLabels": [
"old",
@@ -57,6 +65,7 @@
]
},
{
+ "id": "gc_time",
"title": "GC 시간 (ms)",
"expressionLabels": [
"old",
@@ -66,25 +75,31 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "연결",
"tip": "이 브로커에 대한 현재 TCP/JMS 연결 수입니다."
},
{
+ "id": "producer_count_card",
"title": "생산자 수",
"tip": "이 브로커의 활성 생산자 세션 수입니다."
},
{
+ "id": "consumer_count_card",
"title": "소비자 수",
"tip": "이 브로커의 활성 소비자 세션 수입니다."
},
{
+ "id": "uptime_card",
"title": "가동 시간",
"tip": "마지막 재시작 이후 브로커 가동 시간(시간 단위)입니다."
},
{
+ "id": "connections_line",
"title": "연결 (추세)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "Enqueue / Dequeue 수",
"tip": "이 브로커의 대상별 분당 Enqueue + Dequeue 입니다.",
"expressionLabels": [
@@ -93,6 +108,7 @@
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "생산자 / 소비자 증가",
"tip": "분당 새로 열리는 생산자 + 소비자 세션 수입니다.",
"expressionLabels": [
@@ -101,32 +117,40 @@
]
},
{
+ "id": "memory_usage_line",
"title": "메모리 사용량",
"tip": "대상별 총 메모리 사용량 (MB)입니다."
},
{
+ "id": "memory_limit_line",
"title": "메모리 제한",
"tip": "대상별로 설정된 메모리 상한 (GB)입니다."
},
{
+ "id": "message_size_line",
"title": "평균 메시지 크기",
"tip": "대상 간 평균 메시지 크기입니다."
}
],
"endpoint": [
{
+ "id": "producer",
"title": "생산자 수"
},
{
+ "id": "consumer",
"title": "소비자 수"
},
{
+ "id": "queue_size",
"title": "큐 크기"
},
{
+ "id": "memory",
"title": "메모리 사용량 (MB)"
},
{
+ "id": "messages",
"title": "메시지 수",
"expressionLabels": [
"enqueue",
@@ -137,6 +161,7 @@
]
},
{
+ "id": "enqueue_time",
"title": "Enqueue 시간 (s)",
"expressionLabels": [
"평균",
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.pt.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.pt.json
index 371c9dc..6840888 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.pt.json
@@ -25,18 +25,23 @@
"dashboards": {
"service": [
{
+ "id": "load",
"title": "Média de carga do sistema"
},
{
+ "id": "threads",
"title": "Quantidade de threads"
},
{
+ "id": "heap_used",
"title": "Heap usado (MB)"
},
{
+ "id": "heap_max",
"title": "Heap máximo (MB)"
},
{
+ "id": "enqueue_dequeue",
"title": "Enqueue / Dequeue / Dispatch /s",
"expressionLabels": [
"enqueue",
@@ -45,9 +50,11 @@
]
},
{
+ "id": "expired_rate",
"title": "Expiradas /s"
},
{
+ "id": "enqueue_time",
"title": "Tempo de enqueue",
"expressionLabels": [
"média",
@@ -55,6 +62,7 @@
]
},
{
+ "id": "gc_counts",
"title": "Contagem de GC (G1+Parallel)",
"expressionLabels": [
"old",
@@ -62,6 +70,7 @@
]
},
{
+ "id": "gc_time",
"title": "Tempo de GC (ms)",
"expressionLabels": [
"old",
@@ -71,25 +80,31 @@
],
"instance": [
{
+ "id": "connections_card",
"title": "Conexões",
"tip": "Conexões TCP/JMS atuais com este broker."
},
{
+ "id": "producer_count_card",
"title": "Quantidade de produtores",
"tip": "Sessões de produtor ativas neste broker."
},
{
+ "id": "consumer_count_card",
"title": "Quantidade de consumidores",
"tip": "Sessões de consumidor ativas neste broker."
},
{
+ "id": "uptime_card",
"title": "Uptime",
"tip": "Tempo de atividade do broker em horas desde o último reinício."
},
{
+ "id": "connections_line",
"title": "Conexões (tendência)"
},
{
+ "id": "enqueue_dequeue_line",
"title": "Contagem de enqueue / dequeue",
"tip": "Enqueue + dequeue por minuto entre os destinos deste broker.",
"expressionLabels": [
@@ -98,6 +113,7 @@
]
},
{
+ "id": "producer_consumer_inc_line",
"title": "Aumento de produtores / consumidores",
"tip": "Novas sessões de produtor + consumidor abertas por minuto.",
"expressionLabels": [
@@ -106,32 +122,40 @@
]
},
{
+ "id": "memory_usage_line",
"title": "Uso de memória",
"tip": "Uso de memória agregado entre os destinos (MB)."
},
{
+ "id": "memory_limit_line",
"title": "Limite de memória",
"tip": "Teto de memória configurado entre os destinos (GB)."
},
{
+ "id": "message_size_line",
"title": "Tamanho médio de mensagem",
"tip": "Tamanho médio de mensagem entre os destinos."
}
],
"endpoint": [
{
+ "id": "producer",
"title": "Quantidade de produtores"
},
{
+ "id": "consumer",
"title": "Quantidade de consumidores"
},
{
+ "id": "queue_size",
"title": "Tamanho da fila"
},
{
+ "id": "memory",
"title": "Uso de memória (MB)"
},
{
+ "id": "messages",
"title": "Contagem de mensagens",
"expressionLabels": [
"enqueue",
@@ -142,6 +166,7 @@
]
},
{
+ "id": "enqueue_time",
"title": "Tempo de enqueue (s)",
"expressionLabels": [
"média",
diff --git a/apps/bff/src/bundled_templates/layers/activemq.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/activemq.i18n.zh-CN.json
index 499b3bf..d6959f0 100644
--- a/apps/bff/src/bundled_templates/layers/activemq.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/activemq.i18n.zh-CN.json
@@ -7,68 +7,170 @@
},
"layer-header": {
"columns": [
- { "label": "入队/秒" },
- { "label": "出队/秒" },
- { "label": "系统负载" },
- { "label": "线程数" }
+ {
+ "label": "入队/秒"
+ },
+ {
+ "label": "出队/秒"
+ },
+ {
+ "label": "系统负载"
+ },
+ {
+ "label": "线程数"
+ }
]
},
"dashboards": {
"service": [
- { "title": "系统平均负载" },
- { "title": "线程数" },
- { "title": "Heap 已用(MB)" },
- { "title": "Heap 最大值(MB)" },
{
+ "id": "load",
+ "title": "系统平均负载"
+ },
+ {
+ "id": "threads",
+ "title": "线程数"
+ },
+ {
+ "id": "heap_used",
+ "title": "Heap 已用(MB)"
+ },
+ {
+ "id": "heap_max",
+ "title": "Heap 最大值(MB)"
+ },
+ {
+ "id": "enqueue_dequeue",
"title": "入队 / 出队 / 派发 每秒",
- "expressionLabels": ["enqueue", "dequeue", "dispatch"]
+ "expressionLabels": [
+ "enqueue",
+ "dequeue",
+ "dispatch"
+ ]
},
- { "title": "过期数 每秒" },
{
+ "id": "expired_rate",
+ "title": "过期数 每秒"
+ },
+ {
+ "id": "enqueue_time",
"title": "入队耗时",
- "expressionLabels": ["avg", "max"]
+ "expressionLabels": [
+ "avg",
+ "max"
+ ]
},
{
+ "id": "gc_counts",
"title": "GC 次数(G1+Parallel)",
- "expressionLabels": ["old", "young"]
+ "expressionLabels": [
+ "old",
+ "young"
+ ]
},
{
+ "id": "gc_time",
"title": "GC 时间(ms)",
- "expressionLabels": ["old", "young"]
+ "expressionLabels": [
+ "old",
+ "young"
+ ]
}
],
"instance": [
- { "title": "连接数", "tip": "当前到此 Broker 的 TCP/JMS 连接数。" },
- { "title": "Producer 数量", "tip": "此 Broker 上活跃的 Producer 会话数。" },
- { "title": "Consumer 数量", "tip": "此 Broker 上活跃的 Consumer 会话数。" },
- { "title": "运行时长", "tip": "自上次重启以来 Broker 的运行小时数。" },
- { "title": "连接数(趋势)" },
{
+ "id": "connections_card",
+ "title": "连接数",
+ "tip": "当前到此 Broker 的 TCP/JMS 连接数。"
+ },
+ {
+ "id": "producer_count_card",
+ "title": "Producer 数量",
+ "tip": "此 Broker 上活跃的 Producer 会话数。"
+ },
+ {
+ "id": "consumer_count_card",
+ "title": "Consumer 数量",
+ "tip": "此 Broker 上活跃的 Consumer 会话数。"
+ },
+ {
+ "id": "uptime_card",
+ "title": "运行时长",
+ "tip": "自上次重启以来 Broker 的运行小时数。"
+ },
+ {
+ "id": "connections_line",
+ "title": "连接数(趋势)"
+ },
+ {
+ "id": "enqueue_dequeue_line",
"title": "入队 / 出队次数",
"tip": "此 Broker 上各目的地每分钟的入队 + 出队次数。",
- "expressionLabels": ["enqueue", "dequeue"]
+ "expressionLabels": [
+ "enqueue",
+ "dequeue"
+ ]
},
{
+ "id": "producer_consumer_inc_line",
"title": "Producer / Consumer 增长",
"tip": "每分钟新建的 Producer + Consumer 会话数。",
- "expressionLabels": ["新 Producer", "新 Consumer"]
+ "expressionLabels": [
+ "新 Producer",
+ "新 Consumer"
+ ]
+ },
+ {
+ "id": "memory_usage_line",
+ "title": "内存使用",
+ "tip": "各目的地的总内存使用(MB)。"
+ },
+ {
+ "id": "memory_limit_line",
+ "title": "内存上限",
+ "tip": "各目的地配置的内存上限(GB)。"
},
- { "title": "内存使用", "tip": "各目的地的总内存使用(MB)。" },
- { "title": "内存上限", "tip": "各目的地配置的内存上限(GB)。" },
- { "title": "平均消息大小", "tip": "各目的地的平均消息大小。" }
+ {
+ "id": "message_size_line",
+ "title": "平均消息大小",
+ "tip": "各目的地的平均消息大小。"
+ }
],
"endpoint": [
- { "title": "Producer 数量" },
- { "title": "Consumer 数量" },
- { "title": "队列大小" },
- { "title": "内存使用(MB)" },
{
+ "id": "producer",
+ "title": "Producer 数量"
+ },
+ {
+ "id": "consumer",
+ "title": "Consumer 数量"
+ },
+ {
+ "id": "queue_size",
+ "title": "队列大小"
+ },
+ {
+ "id": "memory",
+ "title": "内存使用(MB)"
+ },
+ {
+ "id": "messages",
"title": "消息计数",
- "expressionLabels": ["enqueue", "dequeue", "dispatch", "expired", "inflight"]
+ "expressionLabels": [
+ "enqueue",
+ "dequeue",
+ "dispatch",
+ "expired",
+ "inflight"
+ ]
},
{
+ "id": "enqueue_time",
"title": "入队耗时(s)",
- "expressionLabels": ["avg", "max"]
+ "expressionLabels": [
+ "avg",
+ "max"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.de.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.de.json
index b5a382f..5dcfa23 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.de.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "DAG-Bag-Größe" },
- { "label": "DAG-Gesamt-Parsezeit" },
- { "label": "Freie Executor-Slots" },
- { "label": "Geplante Slots" }
+ {
+ "label": "DAG-Bag-Größe"
+ },
+ {
+ "label": "DAG-Gesamt-Parsezeit"
+ },
+ {
+ "label": "Freie Executor-Slots"
+ },
+ {
+ "label": "Geplante Slots"
+ }
]
},
"dashboards": {
"service": [
- { "title": "Ausführbare Tasks" },
- { "title": "Laufende Tasks" },
- { "title": "Geplante Slots" },
- { "title": "Wartende Tasks" },
- { "title": "Freie Executor-Slots" },
- { "title": "DAG-Datei-Warteschlange" },
- { "title": "DAG-Importfehler" },
- { "title": "DAG-Bag-Größe" },
- { "title": "DAG-Gesamt-Parsezeit" },
- { "title": "DAG-Datei-Aktualisierungsfehler" },
- { "title": "Asset-Updates" }
+ {
+ "id": "tasks_executable",
+ "title": "Ausführbare Tasks"
+ },
+ {
+ "id": "running_tasks",
+ "title": "Laufende Tasks"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "Geplante Slots"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "Wartende Tasks"
+ },
+ {
+ "id": "open_slots",
+ "title": "Freie Executor-Slots"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "DAG-Datei-Warteschlange"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "DAG-Importfehler"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "DAG-Bag-Größe"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "DAG-Gesamt-Parsezeit"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "DAG-Datei-Aktualisierungsfehler"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset-Updates"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Pool frei / zurückgestellt / laufend",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "Laufende Tasks / geplante Slots",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "Scheduler-Heartbeat"
},
- { "title": "Scheduler-Heartbeat" },
{
+ "id": "executor_slots",
"title": "Executor frei / wartend",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset-Updates"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "Asset-ausgelöste DagRuns"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "Triggerer-Heartbeat"
},
- { "title": "Asset-Updates" },
- { "title": "Asset-ausgelöste DagRuns" },
- { "title": "Triggerer-Heartbeat" },
{
+ "id": "triggerer_capacity",
"title": "Laufende Trigger / freie Kapazität",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "Trigger blockiert / fehlgeschlagen / erfolgreich",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.es.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.es.json
index 539d841..316bab0 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.es.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "Tamaño del DAG bag" },
- { "label": "Tiempo total de parseo DAG" },
- { "label": "Slots libres del executor" },
- { "label": "Slots programados" }
+ {
+ "label": "Tamaño del DAG bag"
+ },
+ {
+ "label": "Tiempo total de parseo DAG"
+ },
+ {
+ "label": "Slots libres del executor"
+ },
+ {
+ "label": "Slots programados"
+ }
]
},
"dashboards": {
"service": [
- { "title": "Tasks ejecutables" },
- { "title": "Tasks en ejecución" },
- { "title": "Slots programados" },
- { "title": "Tasks en cola" },
- { "title": "Slots libres del executor" },
- { "title": "Tamaño de cola de archivos DAG" },
- { "title": "Errores de importación DAG" },
- { "title": "Tamaño del DAG bag" },
- { "title": "Tiempo total de parseo DAG" },
- { "title": "Errores de refresco de archivos DAG" },
- { "title": "Actualizaciones de assets" }
+ {
+ "id": "tasks_executable",
+ "title": "Tasks ejecutables"
+ },
+ {
+ "id": "running_tasks",
+ "title": "Tasks en ejecución"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "Slots programados"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "Tasks en cola"
+ },
+ {
+ "id": "open_slots",
+ "title": "Slots libres del executor"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "Tamaño de cola de archivos DAG"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "Errores de importación DAG"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "Tamaño del DAG bag"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "Tiempo total de parseo DAG"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "Errores de refresco de archivos DAG"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Actualizaciones de assets"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Slots de pool abiertos / diferidos / en ejecución",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "Tasks en ejecución / slots programados",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "Heartbeat del scheduler"
},
- { "title": "Heartbeat del scheduler" },
{
+ "id": "executor_slots",
"title": "Slots del executor abiertos / en cola",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Actualizaciones de assets"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "DagRuns activados por assets"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "Heartbeat del triggerer"
},
- { "title": "Actualizaciones de assets" },
- { "title": "DagRuns activados por assets" },
- { "title": "Heartbeat del triggerer" },
{
+ "id": "triggerer_capacity",
"title": "Triggers en ejecución / capacidad restante",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "Triggers bloqueados / fallidos / exitosos",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.fr.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.fr.json
index 3be04dd..cdfe842 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.fr.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "Taille du DAG bag" },
- { "label": "Temps total de parsing DAG" },
- { "label": "Slots libres de l'executor" },
- { "label": "Slots planifiés" }
+ {
+ "label": "Taille du DAG bag"
+ },
+ {
+ "label": "Temps total de parsing DAG"
+ },
+ {
+ "label": "Slots libres de l'executor"
+ },
+ {
+ "label": "Slots planifiés"
+ }
]
},
"dashboards": {
"service": [
- { "title": "Tâches exécutables" },
- { "title": "Tâches en cours" },
- { "title": "Slots planifiés" },
- { "title": "Tâches en file" },
- { "title": "Slots libres de l'executor" },
- { "title": "Taille de la file de fichiers DAG" },
- { "title": "Erreurs d'import DAG" },
- { "title": "Taille du DAG bag" },
- { "title": "Temps total de parsing DAG" },
- { "title": "Erreurs de rafraîchissement de fichiers DAG" },
- { "title": "Mises à jour d'assets" }
+ {
+ "id": "tasks_executable",
+ "title": "Tâches exécutables"
+ },
+ {
+ "id": "running_tasks",
+ "title": "Tâches en cours"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "Slots planifiés"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "Tâches en file"
+ },
+ {
+ "id": "open_slots",
+ "title": "Slots libres de l'executor"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "Taille de la file de fichiers DAG"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "Erreurs d'import DAG"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "Taille du DAG bag"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "Temps total de parsing DAG"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "Erreurs de rafraîchissement de fichiers DAG"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Mises à jour d'assets"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Slots de pool libres / différés / en cours",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "Tâches en cours / slots planifiés",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "Heartbeat du scheduler"
},
- { "title": "Heartbeat du scheduler" },
{
+ "id": "executor_slots",
"title": "Slots de l'executor libres / en file",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Mises à jour d'assets"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "DagRuns déclenchés par assets"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "Heartbeat du triggerer"
},
- { "title": "Mises à jour d'assets" },
- { "title": "DagRuns déclenchés par assets" },
- { "title": "Heartbeat du triggerer" },
{
+ "id": "triggerer_capacity",
"title": "Triggers en cours / capacité restante",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "Triggers bloqués / échoués / réussis",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.ja.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.ja.json
index a636c5b..c926d8d 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.ja.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "DAG bag サイズ" },
- { "label": "DAG 総パース時間" },
- { "label": "Executor 空きスロット" },
- { "label": "スケジュール済みスロット" }
+ {
+ "label": "DAG bag サイズ"
+ },
+ {
+ "label": "DAG 総パース時間"
+ },
+ {
+ "label": "Executor 空きスロット"
+ },
+ {
+ "label": "スケジュール済みスロット"
+ }
]
},
"dashboards": {
"service": [
- { "title": "実行可能タスク" },
- { "title": "実行中タスク" },
- { "title": "スケジュール済みスロット" },
- { "title": "キュー待ちタスク" },
- { "title": "Executor 空きスロット" },
- { "title": "DAG ファイルキューサイズ" },
- { "title": "DAG インポートエラー" },
- { "title": "DAG bag サイズ" },
- { "title": "DAG 総パース時間" },
- { "title": "DAG ファイル更新エラー" },
- { "title": "Asset 更新" }
+ {
+ "id": "tasks_executable",
+ "title": "実行可能タスク"
+ },
+ {
+ "id": "running_tasks",
+ "title": "実行中タスク"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "スケジュール済みスロット"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "キュー待ちタスク"
+ },
+ {
+ "id": "open_slots",
+ "title": "Executor 空きスロット"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "DAG ファイルキューサイズ"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "DAG インポートエラー"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "DAG bag サイズ"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "DAG 総パース時間"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "DAG ファイル更新エラー"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 更新"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Pool 空き / 延期 / 実行中スロット",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "実行中タスク / スケジュール済みスロット",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "スケジューラハートビート"
},
- { "title": "スケジューラハートビート" },
{
+ "id": "executor_slots",
"title": "Executor 空き / キュー待ちスロット",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 更新"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "Asset 起動 DagRun"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "トリガラーハートビート"
},
- { "title": "Asset 更新" },
- { "title": "Asset 起動 DagRun" },
- { "title": "トリガラーハートビート" },
{
+ "id": "triggerer_capacity",
"title": "実行中トリガ / 残り容量",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "トリガ ブロック / 失敗 / 成功",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.ko.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.ko.json
index c34b2fc..18f3ec3 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.ko.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "DAG bag 크기" },
- { "label": "DAG 총 파싱 시간" },
- { "label": "Executor 여유 슬롯" },
- { "label": "예약된 슬롯" }
+ {
+ "label": "DAG bag 크기"
+ },
+ {
+ "label": "DAG 총 파싱 시간"
+ },
+ {
+ "label": "Executor 여유 슬롯"
+ },
+ {
+ "label": "예약된 슬롯"
+ }
]
},
"dashboards": {
"service": [
- { "title": "실행 가능 작업" },
- { "title": "실행 중 작업" },
- { "title": "예약된 슬롯" },
- { "title": "대기 작업" },
- { "title": "Executor 여유 슬롯" },
- { "title": "DAG 파일 큐 크기" },
- { "title": "DAG 가져오기 오류" },
- { "title": "DAG bag 크기" },
- { "title": "DAG 총 파싱 시간" },
- { "title": "DAG 파일 새로고침 오류" },
- { "title": "Asset 업데이트" }
+ {
+ "id": "tasks_executable",
+ "title": "실행 가능 작업"
+ },
+ {
+ "id": "running_tasks",
+ "title": "실행 중 작업"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "예약된 슬롯"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "대기 작업"
+ },
+ {
+ "id": "open_slots",
+ "title": "Executor 여유 슬롯"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "DAG 파일 큐 크기"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "DAG 가져오기 오류"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "DAG bag 크기"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "DAG 총 파싱 시간"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "DAG 파일 새로고침 오류"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 업데이트"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Pool 여유 / 지연 / 실행 슬롯",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "실행 중 작업 / 예약된 슬롯",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "스케줄러 하트비트"
},
- { "title": "스케줄러 하트비트" },
{
+ "id": "executor_slots",
"title": "Executor 여유 / 대기 슬롯",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 업데이트"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "Asset 트리거 DagRun"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "트리거러 하트비트"
},
- { "title": "Asset 업데이트" },
- { "title": "Asset 트리거 DagRun" },
- { "title": "트리거러 하트비트" },
{
+ "id": "triggerer_capacity",
"title": "실행 중 트리거 / 남은 용량",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "트리거 차단 / 실패 / 성공",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.pt.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.pt.json
index 1d00562..ed756ef 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.pt.json
@@ -7,50 +7,125 @@
},
"layer-header": {
"columns": [
- { "label": "Tamanho do DAG bag" },
- { "label": "Tempo total de parsing do DAG" },
- { "label": "Slots livres do executor" },
- { "label": "Slots agendados" }
+ {
+ "label": "Tamanho do DAG bag"
+ },
+ {
+ "label": "Tempo total de parsing do DAG"
+ },
+ {
+ "label": "Slots livres do executor"
+ },
+ {
+ "label": "Slots agendados"
+ }
]
},
"dashboards": {
"service": [
- { "title": "Tasks executáveis" },
- { "title": "Tasks em execução" },
- { "title": "Slots agendados" },
- { "title": "Tasks enfileiradas" },
- { "title": "Slots livres do executor" },
- { "title": "Tamanho da fila de arquivos DAG" },
- { "title": "Erros de importação DAG" },
- { "title": "Tamanho do DAG bag" },
- { "title": "Tempo total de parsing do DAG" },
- { "title": "Erros de refresh de arquivos DAG" },
- { "title": "Atualizações de assets" }
+ {
+ "id": "tasks_executable",
+ "title": "Tasks executáveis"
+ },
+ {
+ "id": "running_tasks",
+ "title": "Tasks em execução"
+ },
+ {
+ "id": "scheduled_slots",
+ "title": "Slots agendados"
+ },
+ {
+ "id": "queued_tasks",
+ "title": "Tasks enfileiradas"
+ },
+ {
+ "id": "open_slots",
+ "title": "Slots livres do executor"
+ },
+ {
+ "id": "dag_file_queue",
+ "title": "Tamanho da fila de arquivos DAG"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "Erros de importação DAG"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "Tamanho do DAG bag"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "Tempo total de parsing do DAG"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "Erros de refresh de arquivos DAG"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Atualizações de assets"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Slots de pool abertos / adiados / em execução",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "Tasks em execução / slots agendados",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "Heartbeat do scheduler"
},
- { "title": "Heartbeat do scheduler" },
{
+ "id": "executor_slots",
"title": "Slots do executor abertos / enfileirados",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Atualizações de assets"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "DagRuns acionados por assets"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "Heartbeat do triggerer"
},
- { "title": "Atualizações de assets" },
- { "title": "DagRuns acionados por assets" },
- { "title": "Heartbeat do triggerer" },
{
+ "id": "triggerer_capacity",
"title": "Triggers em execução / capacidade restante",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "Triggers bloqueados / com falha / bem-sucedidos",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/airflow.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/airflow.i18n.zh-CN.json
index 88d728e..4a2b9cb 100644
--- a/apps/bff/src/bundled_templates/layers/airflow.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/airflow.i18n.zh-CN.json
@@ -7,70 +7,145 @@
},
"layer-header": {
"columns": [
- { "label": "DAG Bag 大小" },
- { "label": "DAG 总解析时间" },
- { "label": "Executor 空闲 Slot" },
- { "label": "已调度 Slot" }
+ {
+ "label": "DAG Bag 大小"
+ },
+ {
+ "label": "DAG 总解析时间"
+ },
+ {
+ "label": "Executor 空闲 Slot"
+ },
+ {
+ "label": "已调度 Slot"
+ }
]
},
"dashboards": {
"service": [
{
+ "id": "tasks_executable",
"title": "可执行任务",
"tip": "集群内待执行的任务数(airflow.scheduler.tasks.executable)。"
},
{
+ "id": "running_tasks",
"title": "运行中任务",
"tip": "Executor 上正在运行的任务数(airflow.executor.running_tasks)。"
},
{
+ "id": "scheduled_slots",
"title": "已调度 Slot",
"tip": "Pool 中已调度但未运行的 slot,跨 pool 聚合(airflow.pool.scheduled_slots)。"
},
{
+ "id": "queued_tasks",
"title": "排队任务",
"tip": "Executor 上排队等待的任务数(airflow.executor.queued_tasks)。"
},
{
+ "id": "open_slots",
"title": "Executor 空闲 Slot",
"tip": "Executor 可用 slot(airflow.executor.open_slots)。"
},
- { "title": "DAG 文件队列大小", "tip": "待扫描的 DAG 文件数(airflow.dag_processing.file_path_queue_size)。" },
- { "title": "DAG 导入错误", "tip": "解析失败的 DAG 文件数(airflow.dag_processing.import_errors)。" },
- { "title": "DAG Bag 大小", "tip": "最近一次 scheduler 扫描发现的 DAG 数(airflow.dagbag_size)。" },
- { "title": "DAG 总解析时间", "tip": "扫描并导入排队 DAG 文件的秒数(airflow.dag_processing.total_parse_time)。" },
- { "title": "DAG 文件刷新错误", "tip": "每分钟 DAG 文件加载失败次数(airflow.dag_file_refresh_error)。" },
- { "title": "Asset 更新", "tip": "每分钟 asset 更新事件数(airflow.asset.updates)。" }
+ {
+ "id": "dag_file_queue",
+ "title": "DAG 文件队列大小",
+ "tip": "待扫描的 DAG 文件数(airflow.dag_processing.file_path_queue_size)。"
+ },
+ {
+ "id": "dag_import_errors",
+ "title": "DAG 导入错误",
+ "tip": "解析失败的 DAG 文件数(airflow.dag_processing.import_errors)。"
+ },
+ {
+ "id": "dagbag_size",
+ "title": "DAG Bag 大小",
+ "tip": "最近一次 scheduler 扫描发现的 DAG 数(airflow.dagbag_size)。"
+ },
+ {
+ "id": "dag_total_parse_time",
+ "title": "DAG 总解析时间",
+ "tip": "扫描并导入排队 DAG 文件的秒数(airflow.dag_processing.total_parse_time)。"
+ },
+ {
+ "id": "dag_file_refresh_error",
+ "title": "DAG 文件刷新错误",
+ "tip": "每分钟 DAG 文件加载失败次数(airflow.dag_file_refresh_error)。"
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 更新",
+ "tip": "每分钟 asset 更新事件数(airflow.asset.updates)。"
+ }
],
"instance": [
{
+ "id": "pool_slots",
"title": "Pool 空闲 / 延迟 / 运行 Slot",
"tip": "Scheduler 上的 pool 容量(airflow.pool.open_slots、airflow.pool.deferred_slots、airflow.pool.running_slots)。",
- "expressionLabels": ["pool open", "pool deferred", "pool running"]
+ "expressionLabels": [
+ "pool open",
+ "pool deferred",
+ "pool running"
+ ]
},
{
+ "id": "running_tasks",
"title": "运行中任务 / 已调度 Slot",
"tip": "Scheduler executor 队列深度及待运行的 pool slot(airflow.executor.running_tasks、airflow.pool.scheduled_slots)。",
- "expressionLabels": ["running tasks", "scheduled slots"]
+ "expressionLabels": [
+ "running tasks",
+ "scheduled slots"
+ ]
+ },
+ {
+ "id": "scheduler_heartbeat",
+ "title": "Scheduler 心跳",
+ "tip": "Scheduler 每分钟心跳数(airflow.scheduler_heartbeat)。"
},
- { "title": "Scheduler 心跳", "tip": "Scheduler 每分钟心跳数(airflow.scheduler_heartbeat)。" },
{
+ "id": "executor_slots",
"title": "Executor 空闲 / 排队 Slot",
"tip": "Scheduler 上 executor 容量与队列深度(airflow.executor.open_slots、airflow.executor.queued_tasks)。",
- "expressionLabels": ["open slots", "queued tasks"]
+ "expressionLabels": [
+ "open slots",
+ "queued tasks"
+ ]
+ },
+ {
+ "id": "asset_updates",
+ "title": "Asset 更新",
+ "tip": "Scheduler 上的 asset 更新事件(airflow.asset.updates)。"
+ },
+ {
+ "id": "asset_triggered",
+ "title": "Asset 触发的 DagRun",
+ "tip": "Scheduler 上由 asset 事件触发的 DagRun(airflow.asset.triggered_dagruns)。"
+ },
+ {
+ "id": "triggerer_heartbeat",
+ "title": "Triggerer 心跳",
+ "tip": "Triggerer 每分钟心跳数(airflow.triggerer_heartbeat)。"
},
- { "title": "Asset 更新", "tip": "Scheduler 上的 asset 更新事件(airflow.asset.updates)。" },
- { "title": "Asset 触发的 DagRun", "tip": "Scheduler 上由 asset 事件触发的 DagRun(airflow.asset.triggered_dagruns)。" },
- { "title": "Triggerer 心跳", "tip": "Triggerer 每分钟心跳数(airflow.triggerer_heartbeat)。" },
{
+ "id": "triggerer_capacity",
"title": "运行中 Trigger / 剩余容量",
"tip": "Triggerer 上 deferrable trigger 负载(airflow.triggers.running、airflow.triggerer.capacity_left)。",
- "expressionLabels": ["triggers running", "capacity left"]
+ "expressionLabels": [
+ "triggers running",
+ "capacity left"
+ ]
},
{
+ "id": "triggers",
"title": "Trigger 阻塞 / 失败 / 成功",
"tip": "Triggerer 主机上 deferred trigger 结果(airflow.triggers.blocked_main_thread、airflow.triggers.failed、airflow.triggers.succeeded)。",
- "expressionLabels": ["blocked", "failed", "succeeded"]
+ "expressionLabels": [
+ "blocked",
+ "failed",
+ "succeeded"
+ ]
}
]
}
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.de.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.de.json
index 76d5b8b..445a317 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.de.json
@@ -20,87 +20,61 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "App-Startdauer",
- "tip": "Ungefähre Kaltstartdauer aus dem Alipay-Container.",
- "expressions": [
- null
- ]
+ "tip": "Ungefähre Kaltstartdauer aus dem Alipay-Container."
},
{
- "title": "First-Render-Dauer",
- "expressions": [
- null
- ]
+ "id": "first_render",
+ "title": "First-Render-Dauer"
},
{
- "title": "Fehleranzahl",
- "expressions": [
- null
- ]
+ "id": "error_count",
+ "title": "Fehleranzahl"
},
{
- "title": "Anfragelast",
- "expressions": [
- null
- ]
+ "id": "request_cpm",
+ "title": "Anfragelast"
},
{
- "title": "Anfragedauer-Perzentil",
- "expressions": [
- null
- ]
+ "id": "request_percentile",
+ "title": "Anfragedauer-Perzentil"
}
],
"instance": [
{
- "title": "Startdauer",
- "expressions": [
- null
- ]
+ "id": "v_launch",
+ "title": "Startdauer"
},
{
- "title": "First-Render-Dauer",
- "expressions": [
- null
- ]
+ "id": "v_first_render",
+ "title": "First-Render-Dauer"
},
{
- "title": "Anfragelast",
- "expressions": [
- null
- ]
+ "id": "v_request_cpm",
+ "title": "Anfragelast"
},
{
- "title": "Anfragedauer-Perzentil",
- "expressions": [
- null
- ]
+ "id": "v_request_percentile",
+ "title": "Anfragedauer-Perzentil"
}
],
"endpoint": [
{
- "title": "Startdauer auf Seite",
- "expressions": [
- null
- ]
+ "id": "ep_launch",
+ "title": "Startdauer auf Seite"
},
{
- "title": "First-Render-Dauer",
- "expressions": [
- null
- ]
+ "id": "ep_first_render",
+ "title": "First-Render-Dauer"
},
{
- "title": "Anfragelast",
- "expressions": [
- null
- ]
+ "id": "ep_request_cpm",
+ "title": "Anfragelast"
},
{
- "title": "Anfragedauer-Perzentil",
- "expressions": [
- null
- ]
+ "id": "ep_request_percentile",
+ "title": "Anfragedauer-Perzentil"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.es.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.es.json
index cef13da..6abd8a0 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.es.json
@@ -25,47 +25,60 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "Duración del lanzamiento de la app",
"tip": "Duración aproximada del arranque en frío desde el contenedor de Alipay."
},
{
+ "id": "first_render",
"title": "Duración del primer render"
},
{
+ "id": "error_count",
"title": "Conteo de errores"
},
{
+ "id": "request_cpm",
"title": "Carga de peticiones"
},
{
+ "id": "request_percentile",
"title": "Percentil de duración de peticiones"
}
],
"instance": [
{
+ "id": "v_launch",
"title": "Duración del lanzamiento"
},
{
+ "id": "v_first_render",
"title": "Duración del primer render"
},
{
+ "id": "v_request_cpm",
"title": "Carga de peticiones"
},
{
+ "id": "v_request_percentile",
"title": "Percentil de duración de peticiones"
}
],
"endpoint": [
{
+ "id": "ep_launch",
"title": "Duración del lanzamiento en la página"
},
{
+ "id": "ep_first_render",
"title": "Duración del primer render"
},
{
+ "id": "ep_request_cpm",
"title": "Carga de peticiones"
},
{
+ "id": "ep_request_percentile",
"title": "Percentil de duración de peticiones"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.fr.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.fr.json
index 9b107dd..93d796b 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.fr.json
@@ -20,47 +20,60 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "Durée de lancement de l'app",
"tip": "Durée approximative de lancement à froid depuis le conteneur Alipay."
},
{
+ "id": "first_render",
"title": "Durée du premier rendu"
},
{
+ "id": "error_count",
"title": "Nombre d'erreurs"
},
{
+ "id": "request_cpm",
"title": "Charge de requêtes"
},
{
+ "id": "request_percentile",
"title": "Centile de durée de requête"
}
],
"instance": [
{
+ "id": "v_launch",
"title": "Durée de lancement"
},
{
+ "id": "v_first_render",
"title": "Durée du premier rendu"
},
{
+ "id": "v_request_cpm",
"title": "Charge de requêtes"
},
{
+ "id": "v_request_percentile",
"title": "Centile de durée de requête"
}
],
"endpoint": [
{
+ "id": "ep_launch",
"title": "Durée de lancement sur la page"
},
{
+ "id": "ep_first_render",
"title": "Durée du premier rendu"
},
{
+ "id": "ep_request_cpm",
"title": "Charge de requêtes"
},
{
+ "id": "ep_request_percentile",
"title": "Centile de durée de requête"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ja.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ja.json
index ac0e702..32a5fa5 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ja.json
@@ -20,47 +20,60 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "アプリ起動所要時間",
"tip": "Alipay コンテナからの概算コールド起動所要時間。"
},
{
+ "id": "first_render",
"title": "初回描画所要時間"
},
{
+ "id": "error_count",
"title": "エラー件数"
},
{
+ "id": "request_cpm",
"title": "リクエスト負荷"
},
{
+ "id": "request_percentile",
"title": "リクエスト所要時間パーセンタイル"
}
],
"instance": [
{
+ "id": "v_launch",
"title": "起動所要時間"
},
{
+ "id": "v_first_render",
"title": "初回描画所要時間"
},
{
+ "id": "v_request_cpm",
"title": "リクエスト負荷"
},
{
+ "id": "v_request_percentile",
"title": "リクエスト所要時間パーセンタイル"
}
],
"endpoint": [
{
+ "id": "ep_launch",
"title": "ページ単位の起動所要時間"
},
{
+ "id": "ep_first_render",
"title": "初回描画所要時間"
},
{
+ "id": "ep_request_cpm",
"title": "リクエスト負荷"
},
{
+ "id": "ep_request_percentile",
"title": "リクエスト所要時間パーセンタイル"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ko.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ko.json
index b1c7200..3e8cd80 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.ko.json
@@ -20,47 +20,60 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "앱 실행 시간",
"tip": "알리페이 컨테이너의 대략적인 콜드 런치 시간입니다."
},
{
+ "id": "first_render",
"title": "최초 렌더 시간"
},
{
+ "id": "error_count",
"title": "오류 수"
},
{
+ "id": "request_cpm",
"title": "요청 부하"
},
{
+ "id": "request_percentile",
"title": "요청 시간 백분위"
}
],
"instance": [
{
+ "id": "v_launch",
"title": "실행 시간"
},
{
+ "id": "v_first_render",
"title": "최초 렌더 시간"
},
{
+ "id": "v_request_cpm",
"title": "요청 부하"
},
{
+ "id": "v_request_percentile",
"title": "요청 시간 백분위"
}
],
"endpoint": [
{
+ "id": "ep_launch",
"title": "페이지의 실행 시간"
},
{
+ "id": "ep_first_render",
"title": "최초 렌더 시간"
},
{
+ "id": "ep_request_cpm",
"title": "요청 부하"
},
{
+ "id": "ep_request_percentile",
"title": "요청 시간 백분위"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.pt.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.pt.json
index a2fde5d..7716241 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.pt.json
@@ -25,47 +25,60 @@
"dashboards": {
"service": [
{
+ "id": "launch_duration",
"title": "Duração da inicialização do app",
"tip": "Duração aproximada do cold-start a partir do contêiner do Alipay."
},
{
+ "id": "first_render",
"title": "Duração da primeira renderização"
},
{
+ "id": "error_count",
"title": "Contagem de erros"
},
{
+ "id": "request_cpm",
"title": "Carga de requisições"
},
{
+ "id": "request_percentile",
"title": "Percentil de duração das requisições"
}
],
"instance": [
{
+ "id": "v_launch",
"title": "Duração da inicialização"
},
{
+ "id": "v_first_render",
"title": "Duração da primeira renderização"
},
{
+ "id": "v_request_cpm",
"title": "Carga de requisições"
},
{
+ "id": "v_request_percentile",
"title": "Percentil de duração das requisições"
}
],
"endpoint": [
{
+ "id": "ep_launch",
"title": "Duração da inicialização na página"
},
{
+ "id": "ep_first_render",
"title": "Duração da primeira renderização"
},
{
+ "id": "ep_request_cpm",
"title": "Carga de requisições"
},
{
+ "id": "ep_request_percentile",
"title": "Percentil de duração das requisições"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.zh-CN.json
index 74683f2..39d0d47 100644
--- a/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/alipay_mini_program.i18n.zh-CN.json
@@ -8,31 +8,79 @@
},
"layer-header": {
"columns": [
- { "label": "请求 RPM" },
- { "label": "启动" },
- { "label": "首屏渲染" },
- { "label": "错误" }
+ {
+ "label": "请求 RPM"
+ },
+ {
+ "label": "启动"
+ },
+ {
+ "label": "首屏渲染"
+ },
+ {
+ "label": "错误"
+ }
]
},
"dashboards": {
"service": [
- { "title": "应用启动耗时", "tip": "来自支付宝容器的大致冷启动耗时。" },
- { "title": "首屏渲染耗时" },
- { "title": "错误数" },
- { "title": "请求负载" },
- { "title": "请求耗时分位" }
+ {
+ "id": "launch_duration",
+ "title": "应用启动耗时",
+ "tip": "来自支付宝容器的大致冷启动耗时。"
+ },
+ {
+ "id": "first_render",
+ "title": "首屏渲染耗时"
+ },
+ {
+ "id": "error_count",
+ "title": "错误数"
+ },
+ {
+ "id": "request_cpm",
+ "title": "请求负载"
+ },
+ {
+ "id": "request_percentile",
+ "title": "请求耗时分位"
+ }
],
"instance": [
- { "title": "启动耗时" },
- { "title": "首屏渲染耗时" },
- { "title": "请求负载" },
- { "title": "请求耗时分位" }
+ {
+ "id": "v_launch",
+ "title": "启动耗时"
+ },
+ {
+ "id": "v_first_render",
+ "title": "首屏渲染耗时"
+ },
+ {
+ "id": "v_request_cpm",
+ "title": "请求负载"
+ },
+ {
+ "id": "v_request_percentile",
+ "title": "请求耗时分位"
+ }
],
"endpoint": [
- { "title": "页面启动耗时" },
- { "title": "首屏渲染耗时" },
- { "title": "请求负载" },
- { "title": "请求耗时分位" }
+ {
+ "id": "ep_launch",
+ "title": "页面启动耗时"
+ },
+ {
+ "id": "ep_first_render",
+ "title": "首屏渲染耗时"
+ },
+ {
+ "id": "ep_request_cpm",
+ "title": "请求负载"
+ },
+ {
+ "id": "ep_request_percentile",
+ "title": "请求耗时分位"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.de.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.de.json
index 163642e..2fbee7c 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.de.json
@@ -20,121 +20,84 @@
"dashboards": {
"service": [
{
- "title": "HTTP-Request-Trend",
- "expressions": [
- null
- ]
+ "id": "rps",
+ "title": "HTTP-Request-Trend"
},
{
- "title": "HTTP-Status-Trend",
- "expressions": [
- null
- ]
+ "id": "status",
+ "title": "HTTP-Status-Trend"
},
{
- "title": "HTTP-Latenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "HTTP-Latenz"
},
{
- "title": "HTTP-Bandbreite",
- "expressions": [
- null
- ]
+ "id": "bandwidth",
+ "title": "HTTP-Bandbreite"
},
{
- "title": "HTTP-Verbindungen",
- "expressions": [
- null
- ]
+ "id": "conns",
+ "title": "HTTP-Verbindungen"
},
{
+ "id": "status_unmatched",
"title": "Status-Trend ohne Treffer",
- "tip": "Anfragen ohne passende APISIX-Route.",
- "expressions": [
- null
- ]
+ "tip": "Anfragen ohne passende APISIX-Route."
},
{
- "title": "Latenz ohne Treffer",
- "expressions": [
- null
- ]
+ "id": "latency_unmatched",
+ "title": "Latenz ohne Treffer"
},
{
- "title": "Bandbreite ohne Treffer",
- "expressions": [
- null
- ]
+ "id": "bandwidth_unmatched",
+ "title": "Bandbreite ohne Treffer"
}
],
"instance": [
{
- "title": "HTTP-Request-Trend",
- "expressions": [
- null
- ]
+ "id": "rps",
+ "title": "HTTP-Request-Trend"
},
{
- "title": "HTTP-Status-Trend",
- "expressions": [
- null
- ]
+ "id": "status",
+ "title": "HTTP-Status-Trend"
},
{
- "title": "HTTP-Latenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "HTTP-Latenz"
},
{
- "title": "HTTP-Bandbreite",
- "expressions": [
- null
- ]
+ "id": "bandwidth",
+ "title": "HTTP-Bandbreite"
},
{
- "title": "HTTP-Verbindungen",
- "expressions": [
- null
- ]
+ "id": "conns",
+ "title": "HTTP-Verbindungen"
},
{
+ "id": "shared_dict",
"title": "Shared Dict",
"tip": "Kapazität vs. freier Speicher.",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"kapazität",
"frei"
]
},
{
- "title": "etcd erreichbar",
- "expressions": [
- null
- ]
+ "id": "etcd_total",
+ "title": "etcd erreichbar"
},
{
+ "id": "etcd",
"title": "etcd Indizes",
- "expressions": [
- null
- ],
"expressionLabels": [
"indizes"
]
},
{
+ "id": "unmatched",
"title": "Traffic ohne Treffer",
"tip": "Status + Latenz + Bandbreite für Anfragen ohne passende Route.",
- "expressions": [
- null,
- null,
- null
- ],
"expressionLabels": [
"status",
"latenz (ms)",
@@ -144,22 +107,16 @@
],
"endpoint": [
{
- "title": "HTTP-Status-Trend",
- "expressions": [
- null
- ]
+ "id": "status",
+ "title": "HTTP-Status-Trend"
},
{
- "title": "HTTP-Latenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "HTTP-Latenz"
},
{
- "title": "HTTP-Bandbreite",
- "expressions": [
- null
- ]
+ "id": "bandwidth",
+ "title": "HTTP-Bandbreite"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.es.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.es.json
index e7248fa..9a632b5 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.es.json
@@ -25,48 +25,62 @@
"dashboards": {
"service": [
{
+ "id": "rps",
"title": "Tendencia de peticiones HTTP"
},
{
+ "id": "status",
"title": "Tendencia de estado HTTP"
},
{
+ "id": "latency",
"title": "Latencia HTTP"
},
{
+ "id": "bandwidth",
"title": "Ancho de banda HTTP"
},
{
+ "id": "conns",
"title": "Conexiones HTTP"
},
{
+ "id": "status_unmatched",
"title": "Tendencia de estado sin coincidencia",
"tip": "Peticiones sin ruta APISIX coincidente."
},
{
+ "id": "latency_unmatched",
"title": "Latencia sin coincidencia"
},
{
+ "id": "bandwidth_unmatched",
"title": "Ancho de banda sin coincidencia"
}
],
"instance": [
{
+ "id": "rps",
"title": "Tendencia de peticiones HTTP"
},
{
+ "id": "status",
"title": "Tendencia de estado HTTP"
},
{
+ "id": "latency",
"title": "Latencia HTTP"
},
{
+ "id": "bandwidth",
"title": "Ancho de banda HTTP"
},
{
+ "id": "conns",
"title": "Conexiones HTTP"
},
{
+ "id": "shared_dict",
"title": "Diccionario compartido",
"tip": "Capacidad vs espacio libre.",
"expressionLabels": [
@@ -75,15 +89,18 @@
]
},
{
+ "id": "etcd_total",
"title": "etcd accesible"
},
{
+ "id": "etcd",
"title": "etcd índices",
"expressionLabels": [
"índices"
]
},
{
+ "id": "unmatched",
"title": "Tráfico sin coincidencia",
"tip": "Estado + latencia + ancho de banda para peticiones sin ruta coincidente.",
"expressionLabels": [
@@ -95,12 +112,15 @@
],
"endpoint": [
{
+ "id": "status",
"title": "Tendencia de estado HTTP"
},
{
+ "id": "latency",
"title": "Latencia HTTP"
},
{
+ "id": "bandwidth",
"title": "Ancho de banda HTTP"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.fr.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.fr.json
index 743abe3..ee7ef6f 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.fr.json
@@ -20,48 +20,62 @@
"dashboards": {
"service": [
{
+ "id": "rps",
"title": "Tendance des requêtes HTTP"
},
{
+ "id": "status",
"title": "Tendance des statuts HTTP"
},
{
+ "id": "latency",
"title": "Latence HTTP"
},
{
+ "id": "bandwidth",
"title": "Bande passante HTTP"
},
{
+ "id": "conns",
"title": "Connexions HTTP"
},
{
+ "id": "status_unmatched",
"title": "Tendance des statuts non matchés",
"tip": "Requêtes sans route APISIX correspondante."
},
{
+ "id": "latency_unmatched",
"title": "Latence non matchée"
},
{
+ "id": "bandwidth_unmatched",
"title": "Bande passante non matchée"
}
],
"instance": [
{
+ "id": "rps",
"title": "Tendance des requêtes HTTP"
},
{
+ "id": "status",
"title": "Tendance des statuts HTTP"
},
{
+ "id": "latency",
"title": "Latence HTTP"
},
{
+ "id": "bandwidth",
"title": "Bande passante HTTP"
},
{
+ "id": "conns",
"title": "Connexions HTTP"
},
{
+ "id": "shared_dict",
"title": "Dict partagé",
"tip": "Capacité vs espace libre.",
"expressionLabels": [
@@ -70,15 +84,18 @@
]
},
{
+ "id": "etcd_total",
"title": "etcd joignable"
},
{
+ "id": "etcd",
"title": "etcd index",
"expressionLabels": [
"index"
]
},
{
+ "id": "unmatched",
"title": "Trafic non matché",
"tip": "Statut + latence + bande passante pour les requêtes sans route correspondante.",
"expressionLabels": [
@@ -90,12 +107,15 @@
],
"endpoint": [
{
+ "id": "status",
"title": "Tendance des statuts HTTP"
},
{
+ "id": "latency",
"title": "Latence HTTP"
},
{
+ "id": "bandwidth",
"title": "Bande passante HTTP"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.ja.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.ja.json
index 3bdd1a5..842717c 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.ja.json
@@ -20,48 +20,62 @@
"dashboards": {
"service": [
{
+ "id": "rps",
"title": "HTTP リクエスト傾向"
},
{
+ "id": "status",
"title": "HTTP ステータス傾向"
},
{
+ "id": "latency",
"title": "HTTP レイテンシ"
},
{
+ "id": "bandwidth",
"title": "HTTP 帯域"
},
{
+ "id": "conns",
"title": "HTTP 接続"
},
{
+ "id": "status_unmatched",
"title": "未マッチステータス傾向",
"tip": "APISIX ルートにマッチしないリクエスト。"
},
{
+ "id": "latency_unmatched",
"title": "未マッチレイテンシ"
},
{
+ "id": "bandwidth_unmatched",
"title": "未マッチ帯域"
}
],
"instance": [
{
+ "id": "rps",
"title": "HTTP リクエスト傾向"
},
{
+ "id": "status",
"title": "HTTP ステータス傾向"
},
{
+ "id": "latency",
"title": "HTTP レイテンシ"
},
{
+ "id": "bandwidth",
"title": "HTTP 帯域"
},
{
+ "id": "conns",
"title": "HTTP 接続"
},
{
+ "id": "shared_dict",
"title": "Shared Dict",
"tip": "キャパシティ vs 空き容量。",
"expressionLabels": [
@@ -70,15 +84,18 @@
]
},
{
+ "id": "etcd_total",
"title": "etcd 到達可能"
},
{
+ "id": "etcd",
"title": "etcd インデックス",
"expressionLabels": [
"インデックス"
]
},
{
+ "id": "unmatched",
"title": "未マッチトラフィック",
"tip": "ルートにマッチしないリクエストのステータス + レイテンシ + 帯域。",
"expressionLabels": [
@@ -90,12 +107,15 @@
],
"endpoint": [
{
+ "id": "status",
"title": "HTTP ステータス傾向"
},
{
+ "id": "latency",
"title": "HTTP レイテンシ"
},
{
+ "id": "bandwidth",
"title": "HTTP 帯域"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.ko.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.ko.json
index 21faceb..3bb0483 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.ko.json
@@ -20,48 +20,62 @@
"dashboards": {
"service": [
{
+ "id": "rps",
"title": "HTTP 요청 추세"
},
{
+ "id": "status",
"title": "HTTP 상태 추세"
},
{
+ "id": "latency",
"title": "HTTP 지연 시간"
},
{
+ "id": "bandwidth",
"title": "HTTP 대역폭"
},
{
+ "id": "conns",
"title": "HTTP 연결"
},
{
+ "id": "status_unmatched",
"title": "매칭되지 않은 상태 추세",
"tip": "매칭되는 APISIX 라우트가 없는 요청입니다."
},
{
+ "id": "latency_unmatched",
"title": "매칭되지 않은 지연 시간"
},
{
+ "id": "bandwidth_unmatched",
"title": "매칭되지 않은 대역폭"
}
],
"instance": [
{
+ "id": "rps",
"title": "HTTP 요청 추세"
},
{
+ "id": "status",
"title": "HTTP 상태 추세"
},
{
+ "id": "latency",
"title": "HTTP 지연 시간"
},
{
+ "id": "bandwidth",
"title": "HTTP 대역폭"
},
{
+ "id": "conns",
"title": "HTTP 연결"
},
{
+ "id": "shared_dict",
"title": "공유 사전",
"tip": "용량과 여유 공간 비교.",
"expressionLabels": [
@@ -70,15 +84,18 @@
]
},
{
+ "id": "etcd_total",
"title": "etcd 도달 가능"
},
{
+ "id": "etcd",
"title": "etcd 인덱스",
"expressionLabels": [
"인덱스"
]
},
{
+ "id": "unmatched",
"title": "매칭되지 않은 트래픽",
"tip": "매칭되는 라우트가 없는 요청의 상태 + 지연 시간 + 대역폭.",
"expressionLabels": [
@@ -90,12 +107,15 @@
],
"endpoint": [
{
+ "id": "status",
"title": "HTTP 상태 추세"
},
{
+ "id": "latency",
"title": "HTTP 지연 시간"
},
{
+ "id": "bandwidth",
"title": "HTTP 대역폭"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.pt.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.pt.json
index c1e1ec9..bca3b80 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.pt.json
@@ -25,48 +25,62 @@
"dashboards": {
"service": [
{
+ "id": "rps",
"title": "Tendência de requisições HTTP"
},
{
+ "id": "status",
"title": "Tendência de status HTTP"
},
{
+ "id": "latency",
"title": "Latência HTTP"
},
{
+ "id": "bandwidth",
"title": "Largura de banda HTTP"
},
{
+ "id": "conns",
"title": "Conexões HTTP"
},
{
+ "id": "status_unmatched",
"title": "Tendência de status sem correspondência",
"tip": "Requisições sem rota APISIX correspondente."
},
{
+ "id": "latency_unmatched",
"title": "Latência sem correspondência"
},
{
+ "id": "bandwidth_unmatched",
"title": "Largura de banda sem correspondência"
}
],
"instance": [
{
+ "id": "rps",
"title": "Tendência de requisições HTTP"
},
{
+ "id": "status",
"title": "Tendência de status HTTP"
},
{
+ "id": "latency",
"title": "Latência HTTP"
},
{
+ "id": "bandwidth",
"title": "Largura de banda HTTP"
},
{
+ "id": "conns",
"title": "Conexões HTTP"
},
{
+ "id": "shared_dict",
"title": "Dicionário compartilhado",
"tip": "Capacidade vs espaço livre.",
"expressionLabels": [
@@ -75,15 +89,18 @@
]
},
{
+ "id": "etcd_total",
"title": "etcd acessível"
},
{
+ "id": "etcd",
"title": "etcd índices",
"expressionLabels": [
"índices"
]
},
{
+ "id": "unmatched",
"title": "Tráfego sem correspondência",
"tip": "Status + latência + largura de banda para requisições sem rota correspondente.",
"expressionLabels": [
@@ -95,12 +112,15 @@
],
"endpoint": [
{
+ "id": "status",
"title": "Tendência de status HTTP"
},
{
+ "id": "latency",
"title": "Latência HTTP"
},
{
+ "id": "bandwidth",
"title": "Largura de banda HTTP"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/apisix.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/apisix.i18n.zh-CN.json
index 3cfffe1..d167e03 100644
--- a/apps/bff/src/bundled_templates/layers/apisix.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/apisix.i18n.zh-CN.json
@@ -7,51 +7,121 @@
},
"layer-header": {
"columns": [
- { "label": "RPS" },
- { "label": "200/秒" },
- { "label": "404/秒" },
- { "label": "503/秒" }
+ {
+ "label": "RPS"
+ },
+ {
+ "label": "200/秒"
+ },
+ {
+ "label": "404/秒"
+ },
+ {
+ "label": "503/秒"
+ }
]
},
"dashboards": {
"service": [
- { "title": "HTTP 请求趋势" },
- { "title": "HTTP 状态趋势" },
- { "title": "HTTP 延迟" },
- { "title": "HTTP 带宽" },
- { "title": "HTTP 连接" },
- { "title": "未匹配状态趋势", "tip": "未匹配到 APISIX 路由的请求。" },
- { "title": "未匹配延迟" },
- { "title": "未匹配带宽" }
+ {
+ "id": "rps",
+ "title": "HTTP 请求趋势"
+ },
+ {
+ "id": "status",
+ "title": "HTTP 状态趋势"
+ },
+ {
+ "id": "latency",
+ "title": "HTTP 延迟"
+ },
+ {
+ "id": "bandwidth",
+ "title": "HTTP 带宽"
+ },
+ {
+ "id": "conns",
+ "title": "HTTP 连接"
+ },
+ {
+ "id": "status_unmatched",
+ "title": "未匹配状态趋势",
+ "tip": "未匹配到 APISIX 路由的请求。"
+ },
+ {
+ "id": "latency_unmatched",
+ "title": "未匹配延迟"
+ },
+ {
+ "id": "bandwidth_unmatched",
+ "title": "未匹配带宽"
+ }
],
"instance": [
- { "title": "HTTP 请求趋势" },
- { "title": "HTTP 状态趋势" },
- { "title": "HTTP 延迟" },
- { "title": "HTTP 带宽" },
- { "title": "HTTP 连接" },
{
+ "id": "rps",
+ "title": "HTTP 请求趋势"
+ },
+ {
+ "id": "status",
+ "title": "HTTP 状态趋势"
+ },
+ {
+ "id": "latency",
+ "title": "HTTP 延迟"
+ },
+ {
+ "id": "bandwidth",
+ "title": "HTTP 带宽"
+ },
+ {
+ "id": "conns",
+ "title": "HTTP 连接"
+ },
+ {
+ "id": "shared_dict",
"title": "Shared Dict",
"tip": "容量 vs 空闲空间。",
- "expressionLabels": ["capacity", "free"]
+ "expressionLabels": [
+ "capacity",
+ "free"
+ ]
},
{
+ "id": "etcd_total",
"title": "etcd 可达"
},
{
+ "id": "etcd",
"title": "etcd 索引",
- "expressionLabels": ["indexes"]
+ "expressionLabels": [
+ "indexes"
+ ]
},
{
+ "id": "unmatched",
"title": "未匹配流量",
"tip": "未匹配路由请求的状态 + 延迟 + 带宽。",
- "expressionLabels": ["status", "latency (ms)", "bandwidth (KB)"]
+ "expressionLabels": [
+ "status",
+ "latency (ms)",
+ "bandwidth (KB)"
+ ]
}
],
"endpoint": [
- { "title": "HTTP 状态趋势" },
- { "title": "HTTP 延迟" },
- { "title": "HTTP 带宽" }
+ {
+ "id": "status",
+ "title": "HTTP 状态趋势"
+ },
+ {
+ "id": "latency",
+ "title": "HTTP 延迟"
+ },
+ {
+ "id": "bandwidth",
+ "title": "HTTP 带宽"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.de.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.de.json
index a671cab..173bd97 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.de.json
@@ -20,86 +20,60 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "Gedrosselte Anfragen",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
+ "id": "throttle_events",
"title": "Drosselungs-Ereignisse",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
+ "id": "sys_errors",
"title": "Systemfehler",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
- "title": "Benutzerfehler",
- "expressions": [
- null
- ]
+ "id": "user_errors",
+ "title": "Benutzerfehler"
},
{
- "title": "Conditional Check fehlgeschlagen",
- "expressions": [
- null
- ]
+ "id": "cond_check_fail",
+ "title": "Conditional Check fehlgeschlagen"
},
{
- "title": "Transaktionskonflikt",
- "expressions": [
- null
- ]
+ "id": "txn_conflict",
+ "title": "Transaktionskonflikt"
},
{
+ "id": "read_usage",
"title": "Lesekapazität (Einheit/s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"provisioned",
"verbraucht"
]
},
{
+ "id": "write_usage",
"title": "Schreibkapazität (Einheit/s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"provisioned",
"verbraucht"
]
},
{
+ "id": "latency",
"title": "Erfolgreiche Anfrage-Latenz (ms)",
- "expressions": [
- null,
- null,
- null,
- null
- ],
"expressionLabels": [
"get",
"put",
@@ -108,31 +82,20 @@
]
},
{
- "title": "TTL gelöschte Items",
- "expressions": [
- null
- ]
+ "id": "ttl_deleted",
+ "title": "TTL gelöschte Items"
},
{
- "title": "Scan zurückgegebene Items",
- "expressions": [
- null
- ]
+ "id": "scan_items",
+ "title": "Scan zurückgegebene Items"
},
{
- "title": "Query zurückgegebene Items",
- "expressions": [
- null
- ]
+ "id": "query_items",
+ "title": "Query zurückgegebene Items"
},
{
+ "id": "account_max",
"title": "Konto Max. Lesen / Schreiben",
- "expressions": [
- null,
- null,
- null,
- null
- ],
"expressionLabels": [
"table-level reads",
"table-level writes",
@@ -141,11 +104,8 @@
]
},
{
+ "id": "account_util",
"title": "Konto-Kapazitätsauslastung",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
@@ -154,86 +114,60 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "Gedrosselte Anfragen",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
+ "id": "throttle_events",
"title": "Drosselungs-Ereignisse",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
+ "id": "sys_errors",
"title": "Systemfehler",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
- "title": "Conditional Check fehlgeschlagen",
- "expressions": [
- null
- ]
+ "id": "cond_check",
+ "title": "Conditional Check fehlgeschlagen"
},
{
- "title": "Transaktionskonflikt",
- "expressions": [
- null
- ]
+ "id": "txn_conflict",
+ "title": "Transaktionskonflikt"
},
{
- "title": "TTL gelöschte Items",
- "expressions": [
- null
- ]
+ "id": "ttl_deleted",
+ "title": "TTL gelöschte Items"
},
{
+ "id": "read_usage",
"title": "Lesekapazität",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"provisioned",
"verbraucht"
]
},
{
+ "id": "write_usage",
"title": "Schreibkapazität",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"provisioned",
"verbraucht"
]
},
{
+ "id": "latency",
"title": "Erfolgreiche Anfrage-Latenz (ms)",
- "expressions": [
- null,
- null,
- null,
- null
- ],
"expressionLabels": [
"get",
"put",
@@ -242,16 +176,12 @@
]
},
{
- "title": "Scan zurückgegebene Items",
- "expressions": [
- null
- ]
+ "id": "scan_items",
+ "title": "Scan zurückgegebene Items"
},
{
- "title": "Query zurückgegebene Items",
- "expressions": [
- null
- ]
+ "id": "query_items",
+ "title": "Query zurückgegebene Items"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.es.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.es.json
index 1518bab..809534d 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.es.json
@@ -20,6 +20,7 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "Peticiones throttled",
"expressionLabels": [
"lectura",
@@ -27,6 +28,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Eventos de throttling",
"expressionLabels": [
"lectura",
@@ -34,6 +36,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Errores del sistema",
"expressionLabels": [
"lectura",
@@ -41,15 +44,19 @@
]
},
{
+ "id": "user_errors",
"title": "Errores del usuario"
},
{
+ "id": "cond_check_fail",
"title": "Verificación condicional fallida"
},
{
+ "id": "txn_conflict",
"title": "Conflicto de transacción"
},
{
+ "id": "read_usage",
"title": "Capacidad de lectura (unidad/s)",
"expressionLabels": [
"aprovisionado",
@@ -57,6 +64,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacidad de escritura (unidad/s)",
"expressionLabels": [
"aprovisionado",
@@ -64,6 +72,7 @@
]
},
{
+ "id": "latency",
"title": "Latencia de peticiones exitosas (ms)",
"expressionLabels": [
"get",
@@ -73,15 +82,19 @@
]
},
{
+ "id": "ttl_deleted",
"title": "Items eliminados por TTL"
},
{
+ "id": "scan_items",
"title": "Items devueltos por scan"
},
{
+ "id": "query_items",
"title": "Items devueltos por la consulta"
},
{
+ "id": "account_max",
"title": "Lecturas / escrituras máximas de la cuenta",
"expressionLabels": [
"lecturas a nivel tabla",
@@ -91,6 +104,7 @@
]
},
{
+ "id": "account_util",
"title": "Utilización de capacidad de la cuenta",
"expressionLabels": [
"lectura",
@@ -100,6 +114,7 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "Peticiones throttled",
"expressionLabels": [
"lectura",
@@ -107,6 +122,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Eventos de throttling",
"expressionLabels": [
"lectura",
@@ -114,6 +130,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Errores del sistema",
"expressionLabels": [
"lectura",
@@ -121,15 +138,19 @@
]
},
{
+ "id": "cond_check",
"title": "Verificación condicional fallida"
},
{
+ "id": "txn_conflict",
"title": "Conflicto de transacción"
},
{
+ "id": "ttl_deleted",
"title": "Items eliminados por TTL"
},
{
+ "id": "read_usage",
"title": "Capacidad de lectura",
"expressionLabels": [
"aprovisionado",
@@ -137,6 +158,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacidad de escritura",
"expressionLabels": [
"aprovisionado",
@@ -144,6 +166,7 @@
]
},
{
+ "id": "latency",
"title": "Latencia de peticiones exitosas (ms)",
"expressionLabels": [
"get",
@@ -153,9 +176,11 @@
]
},
{
+ "id": "scan_items",
"title": "Items devueltos por scan"
},
{
+ "id": "query_items",
"title": "Items devueltos por la consulta"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.fr.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.fr.json
index 5fdf8c3..38b70f1 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.fr.json
@@ -20,6 +20,7 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "Requêtes throttlées",
"expressionLabels": [
"lecture",
@@ -27,6 +28,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Événements de throttle",
"expressionLabels": [
"lecture",
@@ -34,6 +36,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Erreurs système",
"expressionLabels": [
"lecture",
@@ -41,15 +44,19 @@
]
},
{
+ "id": "user_errors",
"title": "Erreurs utilisateur"
},
{
+ "id": "cond_check_fail",
"title": "Conditional check échoué"
},
{
+ "id": "txn_conflict",
"title": "Conflit de transactions"
},
{
+ "id": "read_usage",
"title": "Capacité de lecture (unité/s)",
"expressionLabels": [
"provisionné",
@@ -57,6 +64,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacité d'écriture (unité/s)",
"expressionLabels": [
"provisionné",
@@ -64,6 +72,7 @@
]
},
{
+ "id": "latency",
"title": "Latence des requêtes réussies (ms)",
"expressionLabels": [
"get",
@@ -73,15 +82,19 @@
]
},
{
+ "id": "ttl_deleted",
"title": "Éléments supprimés TTL"
},
{
+ "id": "scan_items",
"title": "Éléments retournés par scan"
},
{
+ "id": "query_items",
"title": "Éléments retournés par query"
},
{
+ "id": "account_max",
"title": "Lectures / écritures max du compte",
"expressionLabels": [
"lectures au niveau table",
@@ -91,6 +104,7 @@
]
},
{
+ "id": "account_util",
"title": "Utilisation de la capacité du compte",
"expressionLabels": [
"lecture",
@@ -100,6 +114,7 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "Requêtes throttlées",
"expressionLabels": [
"lecture",
@@ -107,6 +122,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Événements de throttle",
"expressionLabels": [
"lecture",
@@ -114,6 +130,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Erreurs système",
"expressionLabels": [
"lecture",
@@ -121,15 +138,19 @@
]
},
{
+ "id": "cond_check",
"title": "Conditional check échoué"
},
{
+ "id": "txn_conflict",
"title": "Conflit de transactions"
},
{
+ "id": "ttl_deleted",
"title": "Éléments supprimés TTL"
},
{
+ "id": "read_usage",
"title": "Capacité de lecture",
"expressionLabels": [
"provisionné",
@@ -137,6 +158,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacité d'écriture",
"expressionLabels": [
"provisionné",
@@ -144,6 +166,7 @@
]
},
{
+ "id": "latency",
"title": "Latence des requêtes réussies (ms)",
"expressionLabels": [
"get",
@@ -153,9 +176,11 @@
]
},
{
+ "id": "scan_items",
"title": "Éléments retournés par scan"
},
{
+ "id": "query_items",
"title": "Éléments retournés par query"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ja.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ja.json
index 3a97444..39ec163 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ja.json
@@ -20,6 +20,7 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "スロットリクエスト",
"expressionLabels": [
"読み取り",
@@ -27,6 +28,7 @@
]
},
{
+ "id": "throttle_events",
"title": "スロットルイベント",
"expressionLabels": [
"読み取り",
@@ -34,6 +36,7 @@
]
},
{
+ "id": "sys_errors",
"title": "システムエラー",
"expressionLabels": [
"読み取り",
@@ -41,15 +44,19 @@
]
},
{
+ "id": "user_errors",
"title": "ユーザーエラー"
},
{
+ "id": "cond_check_fail",
"title": "条件付きチェック失敗"
},
{
+ "id": "txn_conflict",
"title": "トランザクション競合"
},
{
+ "id": "read_usage",
"title": "読み取りキャパシティ (unit/s)",
"expressionLabels": [
"プロビジョン",
@@ -57,6 +64,7 @@
]
},
{
+ "id": "write_usage",
"title": "書き込みキャパシティ (unit/s)",
"expressionLabels": [
"プロビジョン",
@@ -64,6 +72,7 @@
]
},
{
+ "id": "latency",
"title": "成功リクエストレイテンシ (ms)",
"expressionLabels": [
"get",
@@ -73,15 +82,19 @@
]
},
{
+ "id": "ttl_deleted",
"title": "TTL 削除アイテム"
},
{
+ "id": "scan_items",
"title": "Scan 返却アイテム"
},
{
+ "id": "query_items",
"title": "Query 返却アイテム"
},
{
+ "id": "account_max",
"title": "アカウント最大読み取り / 書き込み",
"expressionLabels": [
"テーブル単位読み取り",
@@ -91,6 +104,7 @@
]
},
{
+ "id": "account_util",
"title": "アカウントキャパシティ使用率",
"expressionLabels": [
"読み取り",
@@ -100,6 +114,7 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "スロットリクエスト",
"expressionLabels": [
"読み取り",
@@ -107,6 +122,7 @@
]
},
{
+ "id": "throttle_events",
"title": "スロットルイベント",
"expressionLabels": [
"読み取り",
@@ -114,6 +130,7 @@
]
},
{
+ "id": "sys_errors",
"title": "システムエラー",
"expressionLabels": [
"読み取り",
@@ -121,15 +138,19 @@
]
},
{
+ "id": "cond_check",
"title": "条件付きチェック失敗"
},
{
+ "id": "txn_conflict",
"title": "トランザクション競合"
},
{
+ "id": "ttl_deleted",
"title": "TTL 削除アイテム"
},
{
+ "id": "read_usage",
"title": "読み取りキャパシティ",
"expressionLabels": [
"プロビジョン",
@@ -137,6 +158,7 @@
]
},
{
+ "id": "write_usage",
"title": "書き込みキャパシティ",
"expressionLabels": [
"プロビジョン",
@@ -144,6 +166,7 @@
]
},
{
+ "id": "latency",
"title": "成功リクエストレイテンシ (ms)",
"expressionLabels": [
"get",
@@ -153,9 +176,11 @@
]
},
{
+ "id": "scan_items",
"title": "Scan 返却アイテム"
},
{
+ "id": "query_items",
"title": "Query 返却アイテム"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ko.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ko.json
index ec0c920..15552cd 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.ko.json
@@ -20,6 +20,7 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "스로틀된 요청",
"expressionLabels": [
"read",
@@ -27,6 +28,7 @@
]
},
{
+ "id": "throttle_events",
"title": "스로틀 이벤트",
"expressionLabels": [
"read",
@@ -34,6 +36,7 @@
]
},
{
+ "id": "sys_errors",
"title": "시스템 오류",
"expressionLabels": [
"read",
@@ -41,15 +44,19 @@
]
},
{
+ "id": "user_errors",
"title": "사용자 오류"
},
{
+ "id": "cond_check_fail",
"title": "조건 확인 실패"
},
{
+ "id": "txn_conflict",
"title": "트랜잭션 충돌"
},
{
+ "id": "read_usage",
"title": "읽기 용량 (unit/s)",
"expressionLabels": [
"provisioned",
@@ -57,6 +64,7 @@
]
},
{
+ "id": "write_usage",
"title": "쓰기 용량 (unit/s)",
"expressionLabels": [
"provisioned",
@@ -64,6 +72,7 @@
]
},
{
+ "id": "latency",
"title": "성공 요청 지연 시간 (ms)",
"expressionLabels": [
"get",
@@ -73,15 +82,19 @@
]
},
{
+ "id": "ttl_deleted",
"title": "TTL 삭제된 항목"
},
{
+ "id": "scan_items",
"title": "스캔 반환 항목"
},
{
+ "id": "query_items",
"title": "쿼리 반환 항목"
},
{
+ "id": "account_max",
"title": "계정 최대 읽기 / 쓰기",
"expressionLabels": [
"테이블 단위 reads",
@@ -91,6 +104,7 @@
]
},
{
+ "id": "account_util",
"title": "계정 용량 사용률",
"expressionLabels": [
"read",
@@ -100,6 +114,7 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "스로틀된 요청",
"expressionLabels": [
"read",
@@ -107,6 +122,7 @@
]
},
{
+ "id": "throttle_events",
"title": "스로틀 이벤트",
"expressionLabels": [
"read",
@@ -114,6 +130,7 @@
]
},
{
+ "id": "sys_errors",
"title": "시스템 오류",
"expressionLabels": [
"read",
@@ -121,15 +138,19 @@
]
},
{
+ "id": "cond_check",
"title": "조건 확인 실패"
},
{
+ "id": "txn_conflict",
"title": "트랜잭션 충돌"
},
{
+ "id": "ttl_deleted",
"title": "TTL 삭제된 항목"
},
{
+ "id": "read_usage",
"title": "읽기 용량",
"expressionLabels": [
"provisioned",
@@ -137,6 +158,7 @@
]
},
{
+ "id": "write_usage",
"title": "쓰기 용량",
"expressionLabels": [
"provisioned",
@@ -144,6 +166,7 @@
]
},
{
+ "id": "latency",
"title": "성공 요청 지연 시간 (ms)",
"expressionLabels": [
"get",
@@ -153,9 +176,11 @@
]
},
{
+ "id": "scan_items",
"title": "스캔 반환 항목"
},
{
+ "id": "query_items",
"title": "쿼리 반환 항목"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.pt.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.pt.json
index dba0a8a..ed5833e 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.pt.json
@@ -24,6 +24,7 @@
"dashboards": {
"service": [
{
+ "id": "throttled",
"title": "Requisições limitadas",
"expressionLabels": [
"leitura",
@@ -31,6 +32,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Eventos de throttling",
"expressionLabels": [
"leitura",
@@ -38,6 +40,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Erros do sistema",
"expressionLabels": [
"leitura",
@@ -45,15 +48,19 @@
]
},
{
+ "id": "user_errors",
"title": "Erros do usuário"
},
{
+ "id": "cond_check_fail",
"title": "Verificação condicional falhou"
},
{
+ "id": "txn_conflict",
"title": "Conflito de transação"
},
{
+ "id": "read_usage",
"title": "Capacidade de leitura (unidade/s)",
"expressionLabels": [
"provisionada",
@@ -61,6 +68,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacidade de escrita (unidade/s)",
"expressionLabels": [
"provisionada",
@@ -68,6 +76,7 @@
]
},
{
+ "id": "latency",
"title": "Latência de requisições bem-sucedidas (ms)",
"expressionLabels": [
"get",
@@ -77,15 +86,19 @@
]
},
{
+ "id": "ttl_deleted",
"title": "Itens removidos por TTL"
},
{
+ "id": "scan_items",
"title": "Itens retornados por scan"
},
{
+ "id": "query_items",
"title": "Itens retornados por query"
},
{
+ "id": "account_max",
"title": "Leituras / escritas máximas da conta",
"expressionLabels": [
"leituras por tabela",
@@ -95,6 +108,7 @@
]
},
{
+ "id": "account_util",
"title": "Utilização de capacidade da conta",
"expressionLabels": [
"leitura",
@@ -104,6 +118,7 @@
],
"endpoint": [
{
+ "id": "throttled",
"title": "Requisições limitadas",
"expressionLabels": [
"leitura",
@@ -111,6 +126,7 @@
]
},
{
+ "id": "throttle_events",
"title": "Eventos de throttling",
"expressionLabels": [
"leitura",
@@ -118,6 +134,7 @@
]
},
{
+ "id": "sys_errors",
"title": "Erros do sistema",
"expressionLabels": [
"leitura",
@@ -125,15 +142,19 @@
]
},
{
+ "id": "cond_check",
"title": "Verificação condicional falhou"
},
{
+ "id": "txn_conflict",
"title": "Conflito de transação"
},
{
+ "id": "ttl_deleted",
"title": "Itens removidos por TTL"
},
{
+ "id": "read_usage",
"title": "Capacidade de leitura",
"expressionLabels": [
"provisionada",
@@ -141,6 +162,7 @@
]
},
{
+ "id": "write_usage",
"title": "Capacidade de escrita",
"expressionLabels": [
"provisionada",
@@ -148,6 +170,7 @@
]
},
{
+ "id": "latency",
"title": "Latência de requisições bem-sucedidas (ms)",
"expressionLabels": [
"get",
@@ -157,9 +180,11 @@
]
},
{
+ "id": "scan_items",
"title": "Itens retornados por scan"
},
{
+ "id": "query_items",
"title": "Itens retornados por query"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.zh-CN.json
index a8024ec..6034df1 100644
--- a/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/aws_dynamodb.i18n.zh-CN.json
@@ -7,53 +7,186 @@
},
"layer-header": {
"columns": [
- { "label": "读限流" },
- { "label": "写限流" },
- { "label": "读系统错误" },
- { "label": "写系统错误" }
+ {
+ "label": "读限流"
+ },
+ {
+ "label": "写限流"
+ },
+ {
+ "label": "读系统错误"
+ },
+ {
+ "label": "写系统错误"
+ }
]
},
"dashboards": {
"service": [
- { "title": "被限流请求", "expressionLabels": ["read", "write"] },
- { "title": "限流事件", "expressionLabels": ["read", "write"] },
- { "title": "系统错误", "expressionLabels": ["read", "write"] },
- { "title": "用户错误" },
- { "title": "条件检查失败" },
- { "title": "事务冲突" },
- { "title": "读容量(unit/s)", "expressionLabels": ["provisioned", "consumed"] },
- { "title": "写容量(unit/s)", "expressionLabels": ["provisioned", "consumed"] },
{
+ "id": "throttled",
+ "title": "被限流请求",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "throttle_events",
+ "title": "限流事件",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "sys_errors",
+ "title": "系统错误",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "user_errors",
+ "title": "用户错误"
+ },
+ {
+ "id": "cond_check_fail",
+ "title": "条件检查失败"
+ },
+ {
+ "id": "txn_conflict",
+ "title": "事务冲突"
+ },
+ {
+ "id": "read_usage",
+ "title": "读容量(unit/s)",
+ "expressionLabels": [
+ "provisioned",
+ "consumed"
+ ]
+ },
+ {
+ "id": "write_usage",
+ "title": "写容量(unit/s)",
+ "expressionLabels": [
+ "provisioned",
+ "consumed"
+ ]
+ },
+ {
+ "id": "latency",
"title": "成功请求延迟(ms)",
- "expressionLabels": ["get", "put", "query", "scan"]
+ "expressionLabels": [
+ "get",
+ "put",
+ "query",
+ "scan"
+ ]
+ },
+ {
+ "id": "ttl_deleted",
+ "title": "TTL 删除项数"
+ },
+ {
+ "id": "scan_items",
+ "title": "Scan 返回项数"
},
- { "title": "TTL 删除项数" },
- { "title": "Scan 返回项数" },
- { "title": "Query 返回项数" },
{
+ "id": "query_items",
+ "title": "Query 返回项数"
+ },
+ {
+ "id": "account_max",
"title": "账户最大读 / 写",
- "expressionLabels": ["table-level reads", "table-level writes", "reads", "writes"]
+ "expressionLabels": [
+ "table-level reads",
+ "table-level writes",
+ "reads",
+ "writes"
+ ]
},
{
+ "id": "account_util",
"title": "账户容量利用率",
- "expressionLabels": ["read", "write"]
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
}
],
"endpoint": [
- { "title": "被限流请求", "expressionLabels": ["read", "write"] },
- { "title": "限流事件", "expressionLabels": ["read", "write"] },
- { "title": "系统错误", "expressionLabels": ["read", "write"] },
- { "title": "条件检查失败" },
- { "title": "事务冲突" },
- { "title": "TTL 删除项数" },
- { "title": "读容量", "expressionLabels": ["provisioned", "consumed"] },
- { "title": "写容量", "expressionLabels": ["provisioned", "consumed"] },
{
+ "id": "throttled",
+ "title": "被限流请求",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "throttle_events",
+ "title": "限流事件",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "sys_errors",
+ "title": "系统错误",
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
+ },
+ {
+ "id": "cond_check",
+ "title": "条件检查失败"
+ },
+ {
+ "id": "txn_conflict",
+ "title": "事务冲突"
+ },
+ {
+ "id": "ttl_deleted",
+ "title": "TTL 删除项数"
+ },
+ {
+ "id": "read_usage",
+ "title": "读容量",
+ "expressionLabels": [
+ "provisioned",
+ "consumed"
+ ]
+ },
+ {
+ "id": "write_usage",
+ "title": "写容量",
+ "expressionLabels": [
+ "provisioned",
+ "consumed"
+ ]
+ },
+ {
+ "id": "latency",
"title": "成功请求延迟(ms)",
- "expressionLabels": ["get", "put", "query", "scan"]
+ "expressionLabels": [
+ "get",
+ "put",
+ "query",
+ "scan"
+ ]
+ },
+ {
+ "id": "scan_items",
+ "title": "Scan 返回项数"
},
- { "title": "Scan 返回项数" },
- { "title": "Query 返回项数" }
+ {
+ "id": "query_items",
+ "title": "Query 返回项数"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.de.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.de.json
index b215375..966f8cf 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.de.json
@@ -20,46 +20,32 @@
"dashboards": {
"service": [
{
- "title": "Knotenanzahl",
- "expressions": [
- null
- ]
+ "id": "node_count",
+ "title": "Knotenanzahl"
},
{
- "title": "Fehlerhafte Knoten",
- "expressions": [
- null
- ]
+ "id": "failed_nodes",
+ "title": "Fehlerhafte Knoten"
},
{
- "title": "Namespace-Anzahl",
- "expressions": [
- null
- ]
+ "id": "namespace_count",
+ "title": "Namespace-Anzahl"
},
{
- "title": "EKS-Servicezahl",
- "expressions": [
- null
- ]
+ "id": "service_count",
+ "title": "EKS-Servicezahl"
},
{
+ "id": "network_errors",
"title": "Cluster Netzwerk-Fehler",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"rx",
"tx"
]
},
{
+ "id": "network_dropped",
"title": "Cluster Netzwerk-Drops",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"rx",
"tx"
@@ -68,119 +54,78 @@
],
"endpoint": [
{
- "title": "Pod-CPU-Auslastung (%)",
- "expressions": [
- null
- ]
+ "id": "pod_cpu",
+ "title": "Pod-CPU-Auslastung (%)"
},
{
- "title": "Pod-Speicher-Auslastung (%)",
- "expressions": [
- null
- ]
+ "id": "pod_mem",
+ "title": "Pod-Speicher-Auslastung (%)"
},
{
- "title": "Pod-Netzwerk RX (KB/s)",
- "expressions": [
- null
- ]
+ "id": "pod_net_rx",
+ "title": "Pod-Netzwerk RX (KB/s)"
},
{
- "title": "Pod RX-Fehler / s",
- "expressions": [
- null
- ]
+ "id": "pod_net_rx_err",
+ "title": "Pod RX-Fehler / s"
},
{
- "title": "Pod-Netzwerk TX (KB/s)",
- "expressions": [
- null
- ]
+ "id": "pod_net_tx",
+ "title": "Pod-Netzwerk TX (KB/s)"
},
{
- "title": "Pod TX-Fehler / s",
- "expressions": [
- null
- ]
+ "id": "pod_net_tx_err",
+ "title": "Pod TX-Fehler / s"
}
],
"instance": [
{
- "title": "Pod-Anzahl",
- "expressions": [
- null
- ]
+ "id": "pods",
+ "title": "Pod-Anzahl"
},
{
- "title": "CPU-Auslastung (%)",
- "expressions": [
- null
- ]
+ "id": "node_cpu",
+ "title": "CPU-Auslastung (%)"
},
{
- "title": "Speicherauslastung (%)",
- "expressions": [
- null
- ]
+ "id": "node_mem",
+ "title": "Speicherauslastung (%)"
},
{
- "title": "FS-Nutzung (%)",
- "expressions": [
- null
- ]
+ "id": "node_fs",
+ "title": "FS-Nutzung (%)"
},
{
+ "id": "node_net_rx",
"title": "Netzwerk RX (KB/s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"bytes",
"fehler"
- ],
- "expressionAxes": [
- null,
- null
]
},
{
+ "id": "node_net_tx",
"title": "Netzwerk TX (KB/s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"bytes",
"fehler"
- ],
- "expressionAxes": [
- null,
- null
]
},
{
+ "id": "disk",
"title": "Disk-I/O (B/s)",
- "expressions": [
- null,
- null
- ],
"expressionLabels": [
"lesen",
"schreiben"
]
},
{
- "title": "Pod-CPU auf Knoten",
- "expressions": [
- null
- ]
+ "id": "pod_cpu",
+ "title": "Pod-CPU auf Knoten"
},
{
- "title": "Pod-Speicher auf Knoten",
- "expressions": [
- null
- ]
+ "id": "pod_mem",
+ "title": "Pod-Speicher auf Knoten"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.es.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.es.json
index 496c3f8..782cba4 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.es.json
@@ -25,18 +25,23 @@
"dashboards": {
"service": [
{
+ "id": "node_count",
"title": "Conteo de nodos"
},
{
+ "id": "failed_nodes",
"title": "Nodos con fallo"
},
{
+ "id": "namespace_count",
"title": "Conteo de namespaces"
},
{
+ "id": "service_count",
"title": "Conteo de servicios EKS"
},
{
+ "id": "network_errors",
"title": "Errores de red del clúster",
"expressionLabels": [
"rx",
@@ -44,6 +49,7 @@
]
},
{
+ "id": "network_dropped",
"title": "Pérdidas de red del clúster",
"expressionLabels": [
"rx",
@@ -53,38 +59,49 @@
],
"endpoint": [
{
+ "id": "pod_cpu",
"title": "Utilización de CPU del pod (%)"
},
{
+ "id": "pod_mem",
"title": "Utilización de memoria del pod (%)"
},
{
+ "id": "pod_net_rx",
"title": "Red RX del pod (KB/s)"
},
{
+ "id": "pod_net_rx_err",
"title": "Errores RX del pod / s"
},
{
+ "id": "pod_net_tx",
"title": "Red TX del pod (KB/s)"
},
{
+ "id": "pod_net_tx_err",
"title": "Errores TX del pod / s"
}
],
"instance": [
{
+ "id": "pods",
"title": "Conteo de pods"
},
{
+ "id": "node_cpu",
"title": "Utilización de CPU (%)"
},
{
+ "id": "node_mem",
"title": "Utilización de memoria (%)"
},
{
+ "id": "node_fs",
"title": "Utilización de FS (%)"
},
{
+ "id": "node_net_rx",
"title": "Red RX (KB/s)",
"expressionLabels": [
"bytes",
@@ -92,6 +109,7 @@
]
},
{
+ "id": "node_net_tx",
"title": "Red TX (KB/s)",
"expressionLabels": [
"bytes",
@@ -99,6 +117,7 @@
]
},
{
+ "id": "disk",
"title": "IO de disco (B/s)",
"expressionLabels": [
"lectura",
@@ -106,9 +125,11 @@
]
},
{
+ "id": "pod_cpu",
"title": "CPU de pod en el nodo"
},
{
+ "id": "pod_mem",
"title": "Memoria del pod en el nodo"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.fr.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.fr.json
index f56475b..2bc8bdf 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.fr.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "node_count",
"title": "Nombre de nœuds"
},
{
+ "id": "failed_nodes",
"title": "Nœuds en échec"
},
{
+ "id": "namespace_count",
"title": "Nombre de namespaces"
},
{
+ "id": "service_count",
"title": "Nombre de services EKS"
},
{
+ "id": "network_errors",
"title": "Erreurs réseau du cluster",
"expressionLabels": [
"rx",
@@ -39,6 +44,7 @@
]
},
{
+ "id": "network_dropped",
"title": "Drops réseau du cluster",
"expressionLabels": [
"rx",
@@ -48,38 +54,49 @@
],
"endpoint": [
{
+ "id": "pod_cpu",
"title": "Utilisation CPU pod (%)"
},
{
+ "id": "pod_mem",
"title": "Utilisation mémoire pod (%)"
},
{
+ "id": "pod_net_rx",
"title": "Réseau pod RX (Ko/s)"
},
{
+ "id": "pod_net_rx_err",
"title": "Erreurs RX pod / s"
},
{
+ "id": "pod_net_tx",
"title": "Réseau pod TX (Ko/s)"
},
{
+ "id": "pod_net_tx_err",
"title": "Erreurs TX pod / s"
}
],
"instance": [
{
+ "id": "pods",
"title": "Nombre de pods"
},
{
+ "id": "node_cpu",
"title": "Utilisation CPU (%)"
},
{
+ "id": "node_mem",
"title": "Utilisation mémoire (%)"
},
{
+ "id": "node_fs",
"title": "Utilisation FS (%)"
},
{
+ "id": "node_net_rx",
"title": "Réseau RX (Ko/s)",
"expressionLabels": [
"octets",
@@ -87,6 +104,7 @@
]
},
{
+ "id": "node_net_tx",
"title": "Réseau TX (Ko/s)",
"expressionLabels": [
"octets",
@@ -94,6 +112,7 @@
]
},
{
+ "id": "disk",
"title": "I/O disque (o/s)",
"expressionLabels": [
"lecture",
@@ -101,9 +120,11 @@
]
},
{
+ "id": "pod_cpu",
"title": "CPU pod sur le nœud"
},
{
+ "id": "pod_mem",
"title": "Mémoire pod sur le nœud"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ja.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ja.json
index 100b431..fd78345 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ja.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "node_count",
"title": "ノード数"
},
{
+ "id": "failed_nodes",
"title": "失敗ノード"
},
{
+ "id": "namespace_count",
"title": "ネームスペース数"
},
{
+ "id": "service_count",
"title": "EKS サービス数"
},
{
+ "id": "network_errors",
"title": "クラスタネットワークエラー",
"expressionLabels": [
"受信",
@@ -39,6 +44,7 @@
]
},
{
+ "id": "network_dropped",
"title": "クラスタネットワーク破棄",
"expressionLabels": [
"受信",
@@ -48,38 +54,49 @@
],
"endpoint": [
{
+ "id": "pod_cpu",
"title": "Pod CPU 使用率 (%)"
},
{
+ "id": "pod_mem",
"title": "Pod メモリ使用率 (%)"
},
{
+ "id": "pod_net_rx",
"title": "Pod ネットワーク RX (KB/s)"
},
{
+ "id": "pod_net_rx_err",
"title": "Pod RX エラー / s"
},
{
+ "id": "pod_net_tx",
"title": "Pod ネットワーク TX (KB/s)"
},
{
+ "id": "pod_net_tx_err",
"title": "Pod TX エラー / s"
}
],
"instance": [
{
+ "id": "pods",
"title": "Pod 数"
},
{
+ "id": "node_cpu",
"title": "CPU 使用率 (%)"
},
{
+ "id": "node_mem",
"title": "メモリ使用率 (%)"
},
{
+ "id": "node_fs",
"title": "FS 使用率 (%)"
},
{
+ "id": "node_net_rx",
"title": "ネットワーク RX (KB/s)",
"expressionLabels": [
"バイト",
@@ -87,6 +104,7 @@
]
},
{
+ "id": "node_net_tx",
"title": "ネットワーク TX (KB/s)",
"expressionLabels": [
"バイト",
@@ -94,6 +112,7 @@
]
},
{
+ "id": "disk",
"title": "ディスク IO (B/s)",
"expressionLabels": [
"読み取り",
@@ -101,9 +120,11 @@
]
},
{
+ "id": "pod_cpu",
"title": "ノード上の Pod CPU"
},
{
+ "id": "pod_mem",
"title": "ノード上の Pod メモリ"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ko.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ko.json
index 32fb1b9..18f863e 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.ko.json
@@ -20,18 +20,23 @@
"dashboards": {
"service": [
{
+ "id": "node_count",
"title": "노드 수"
},
{
+ "id": "failed_nodes",
"title": "실패 노드"
},
{
+ "id": "namespace_count",
"title": "네임스페이스 수"
},
{
+ "id": "service_count",
"title": "EKS 서비스 수"
},
{
+ "id": "network_errors",
"title": "클러스터 네트워크 오류",
"expressionLabels": [
"rx",
@@ -39,6 +44,7 @@
]
},
{
+ "id": "network_dropped",
"title": "클러스터 네트워크 드롭",
"expressionLabels": [
"rx",
@@ -48,38 +54,49 @@
],
"endpoint": [
{
+ "id": "pod_cpu",
"title": "Pod CPU 사용률 (%)"
},
{
+ "id": "pod_mem",
"title": "Pod 메모리 사용률 (%)"
},
{
+ "id": "pod_net_rx",
"title": "Pod 네트워크 RX (KB/s)"
},
{
+ "id": "pod_net_rx_err",
"title": "Pod RX 오류 / s"
},
{
+ "id": "pod_net_tx",
"title": "Pod 네트워크 TX (KB/s)"
},
{
+ "id": "pod_net_tx_err",
"title": "Pod TX 오류 / s"
}
],
"instance": [
{
+ "id": "pods",
"title": "Pod 수"
},
{
+ "id": "node_cpu",
"title": "CPU 사용률 (%)"
},
{
+ "id": "node_mem",
"title": "메모리 사용률 (%)"
},
{
+ "id": "node_fs",
"title": "파일 시스템 사용률 (%)"
},
{
+ "id": "node_net_rx",
"title": "네트워크 RX (KB/s)",
"expressionLabels": [
"바이트",
@@ -87,6 +104,7 @@
]
},
{
+ "id": "node_net_tx",
"title": "네트워크 TX (KB/s)",
"expressionLabels": [
"바이트",
@@ -94,6 +112,7 @@
]
},
{
+ "id": "disk",
"title": "디스크 I/O (B/s)",
"expressionLabels": [
"read",
@@ -101,9 +120,11 @@
]
},
{
+ "id": "pod_cpu",
"title": "노드의 Pod CPU"
},
{
+ "id": "pod_mem",
"title": "노드의 Pod 메모리"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.pt.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.pt.json
index ed2a3dc..84cd845 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.pt.json
@@ -25,18 +25,23 @@
"dashboards": {
"service": [
{
+ "id": "node_count",
"title": "Quantidade de nós"
},
{
+ "id": "failed_nodes",
"title": "Nós com falha"
},
{
+ "id": "namespace_count",
"title": "Quantidade de namespaces"
},
{
+ "id": "service_count",
"title": "Quantidade de serviços EKS"
},
{
+ "id": "network_errors",
"title": "Erros de rede do cluster",
"expressionLabels": [
"rx",
@@ -44,6 +49,7 @@
]
},
{
+ "id": "network_dropped",
"title": "Pacotes descartados na rede do cluster",
"expressionLabels": [
"rx",
@@ -53,38 +59,49 @@
],
"endpoint": [
{
+ "id": "pod_cpu",
"title": "Utilização de CPU do Pod (%)"
},
{
+ "id": "pod_mem",
"title": "Utilização de memória do Pod (%)"
},
{
+ "id": "pod_net_rx",
"title": "Rede RX do Pod (KB/s)"
},
{
+ "id": "pod_net_rx_err",
"title": "Erros RX do Pod / s"
},
{
+ "id": "pod_net_tx",
"title": "Rede TX do Pod (KB/s)"
},
{
+ "id": "pod_net_tx_err",
"title": "Erros TX do Pod / s"
}
],
"instance": [
{
+ "id": "pods",
"title": "Quantidade de Pods"
},
{
+ "id": "node_cpu",
"title": "Utilização de CPU (%)"
},
{
+ "id": "node_mem",
"title": "Utilização de memória (%)"
},
{
+ "id": "node_fs",
"title": "Utilização do FS (%)"
},
{
+ "id": "node_net_rx",
"title": "Rede RX (KB/s)",
"expressionLabels": [
"bytes",
@@ -92,6 +109,7 @@
]
},
{
+ "id": "node_net_tx",
"title": "Rede TX (KB/s)",
"expressionLabels": [
"bytes",
@@ -99,6 +117,7 @@
]
},
{
+ "id": "disk",
"title": "IO de disco (B/s)",
"expressionLabels": [
"leitura",
@@ -106,9 +125,11 @@
]
},
{
+ "id": "pod_cpu",
"title": "CPU do Pod no nó"
},
{
+ "id": "pod_mem",
"title": "Memória do Pod no nó"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.zh-CN.json
index 8a81eac..3850093 100644
--- a/apps/bff/src/bundled_templates/layers/aws_eks.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/aws_eks.i18n.zh-CN.json
@@ -8,48 +8,130 @@
},
"layer-header": {
"columns": [
- { "label": "节点" },
- { "label": "失败节点" },
- { "label": "命名空间" },
- { "label": "服务" }
+ {
+ "label": "节点"
+ },
+ {
+ "label": "失败节点"
+ },
+ {
+ "label": "命名空间"
+ },
+ {
+ "label": "服务"
+ }
]
},
"dashboards": {
"service": [
- { "title": "节点数" },
- { "title": "失败节点" },
- { "title": "命名空间数" },
- { "title": "EKS 服务数" },
- { "title": "集群网络错误", "expressionLabels": ["rx", "tx"] },
- { "title": "集群网络丢包", "expressionLabels": ["rx", "tx"] }
+ {
+ "id": "node_count",
+ "title": "节点数"
+ },
+ {
+ "id": "failed_nodes",
+ "title": "失败节点"
+ },
+ {
+ "id": "namespace_count",
+ "title": "命名空间数"
+ },
+ {
+ "id": "service_count",
+ "title": "EKS 服务数"
+ },
+ {
+ "id": "network_errors",
+ "title": "集群网络错误",
+ "expressionLabels": [
+ "rx",
+ "tx"
+ ]
+ },
+ {
+ "id": "network_dropped",
+ "title": "集群网络丢包",
+ "expressionLabels": [
+ "rx",
+ "tx"
+ ]
+ }
],
"endpoint": [
- { "title": "Pod CPU 使用率(%)" },
- { "title": "Pod 内存使用率(%)" },
- { "title": "Pod 网络 RX(KB/s)" },
- { "title": "Pod RX 错误 / 秒" },
- { "title": "Pod 网络 TX(KB/s)" },
- { "title": "Pod TX 错误 / 秒" }
+ {
+ "id": "pod_cpu",
+ "title": "Pod CPU 使用率(%)"
+ },
+ {
+ "id": "pod_mem",
+ "title": "Pod 内存使用率(%)"
+ },
+ {
+ "id": "pod_net_rx",
+ "title": "Pod 网络 RX(KB/s)"
+ },
+ {
+ "id": "pod_net_rx_err",
+ "title": "Pod RX 错误 / 秒"
+ },
+ {
+ "id": "pod_net_tx",
+ "title": "Pod 网络 TX(KB/s)"
+ },
+ {
+ "id": "pod_net_tx_err",
+ "title": "Pod TX 错误 / 秒"
+ }
],
"instance": [
- { "title": "Pod 数量" },
- { "title": "CPU 使用率(%)" },
- { "title": "内存使用率(%)" },
- { "title": "文件系统使用率(%)" },
{
+ "id": "pods",
+ "title": "Pod 数量"
+ },
+ {
+ "id": "node_cpu",
+ "title": "CPU 使用率(%)"
+ },
+ {
+ "id": "node_mem",
+ "title": "内存使用率(%)"
+ },
+ {
+ "id": "node_fs",
+ "title": "文件系统使用率(%)"
+ },
+ {
+ "id": "node_net_rx",
"title": "网络 RX(KB/s)",
- "expressionLabels": ["bytes", "errors"]
+ "expressionLabels": [
+ "bytes",
+ "errors"
+ ]
},
{
+ "id": "node_net_tx",
"title": "网络 TX(KB/s)",
- "expressionLabels": ["bytes", "errors"]
+ "expressionLabels": [
+ "bytes",
+ "errors"
+ ]
},
{
+ "id": "disk",
"title": "磁盘 IO(B/s)",
- "expressionLabels": ["read", "write"]
+ "expressionLabels": [
+ "read",
+ "write"
+ ]
},
- { "title": "节点上的 Pod CPU" },
- { "title": "节点上的 Pod 内存" }
+ {
+ "id": "pod_cpu",
+ "title": "节点上的 Pod CPU"
+ },
+ {
+ "id": "pod_mem",
+ "title": "节点上的 Pod 内存"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.de.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.de.json
index 78acbe8..8739a0e 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.de.json
@@ -20,103 +20,71 @@
"dashboards": {
"service": [
{
- "title": "Anfrageanzahl",
- "expressions": [
- null
- ]
+ "id": "count",
+ "title": "Anfrageanzahl"
},
{
- "title": "4xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err4xx",
+ "title": "4xx-Anzahl"
},
{
- "title": "5xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err5xx",
+ "title": "5xx-Anzahl"
},
{
- "title": "Mittlere Anfragelatenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "Mittlere Anfragelatenz"
},
{
+ "id": "integration_latency",
"title": "Mittlere Integrations-Latenz",
- "tip": "Latenz zwischen Gateway und Backend-Integration.",
- "expressions": [
- null
- ]
+ "tip": "Latenz zwischen Gateway und Backend-Integration."
},
{
- "title": "Verarbeitete Daten (nur HTTP API)",
- "expressions": [
- null
- ]
+ "id": "data",
+ "title": "Verarbeitete Daten (nur HTTP API)"
},
{
- "title": "Cache-Trefferrate (nur REST API)",
- "expressions": [
- null
- ]
+ "id": "cache_hit",
+ "title": "Cache-Trefferrate (nur REST API)"
},
{
- "title": "Cache-Fehlrate (nur REST API)",
- "expressions": [
- null
- ]
+ "id": "cache_miss",
+ "title": "Cache-Fehlrate (nur REST API)"
}
],
"endpoint": [
{
- "title": "Anfrageanzahl",
- "expressions": [
- null
- ]
+ "id": "count",
+ "title": "Anfrageanzahl"
},
{
- "title": "4xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err4xx",
+ "title": "4xx-Anzahl"
},
{
- "title": "5xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err5xx",
+ "title": "5xx-Anzahl"
},
{
- "title": "Mittlere Anfragelatenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "Mittlere Anfragelatenz"
},
{
- "title": "Mittlere Integrations-Latenz",
- "expressions": [
- null
- ]
+ "id": "integration_latency",
+ "title": "Mittlere Integrations-Latenz"
},
{
- "title": "Verarbeitete Daten",
- "expressions": [
- null
- ]
+ "id": "data",
+ "title": "Verarbeitete Daten"
},
{
- "title": "Cache-Trefferrate",
- "expressions": [
- null
- ]
+ "id": "cache_hit",
+ "title": "Cache-Trefferrate"
},
{
- "title": "Cache-Fehlrate",
- "expressions": [
- null
- ]
+ "id": "cache_miss",
+ "title": "Cache-Fehlrate"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.es.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.es.json
index 0e6e342..6649fb8 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.es.json
@@ -20,54 +20,70 @@
"dashboards": {
"service": [
{
+ "id": "count",
"title": "Conteo de peticiones"
},
{
+ "id": "err4xx",
"title": "Conteo 4xx"
},
{
+ "id": "err5xx",
"title": "Conteo 5xx"
},
{
+ "id": "latency",
"title": "Latencia media de petición"
},
{
+ "id": "integration_latency",
"title": "Latencia media de integración",
"tip": "Latencia entre el gateway y la integración backend."
},
{
+ "id": "data",
"title": "Datos procesados (solo HTTP API)"
},
{
+ "id": "cache_hit",
"title": "Tasa de aciertos de caché (solo REST API)"
},
{
+ "id": "cache_miss",
"title": "Tasa de fallos de caché (solo REST API)"
}
],
"endpoint": [
{
+ "id": "count",
"title": "Conteo de peticiones"
},
{
+ "id": "err4xx",
"title": "Conteo 4xx"
},
{
+ "id": "err5xx",
"title": "Conteo 5xx"
},
{
+ "id": "latency",
"title": "Latencia media de petición"
},
{
+ "id": "integration_latency",
"title": "Latencia media de integración"
},
{
+ "id": "data",
"title": "Datos procesados"
},
{
+ "id": "cache_hit",
"title": "Tasa de aciertos de caché"
},
{
+ "id": "cache_miss",
"title": "Tasa de fallos de caché"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.fr.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.fr.json
index f568ce4..9d87b67 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.fr.json
@@ -20,54 +20,70 @@
"dashboards": {
"service": [
{
+ "id": "count",
"title": "Nombre de requêtes"
},
{
+ "id": "err4xx",
"title": "Nombre de 4xx"
},
{
+ "id": "err5xx",
"title": "Nombre de 5xx"
},
{
+ "id": "latency",
"title": "Latence moyenne des requêtes"
},
{
+ "id": "integration_latency",
"title": "Latence moyenne d'intégration",
"tip": "Latence entre la passerelle et l'intégration backend."
},
{
+ "id": "data",
"title": "Données traitées (HTTP API uniquement)"
},
{
+ "id": "cache_hit",
"title": "Taux de hit du cache (REST API uniquement)"
},
{
+ "id": "cache_miss",
"title": "Taux de miss du cache (REST API uniquement)"
}
],
"endpoint": [
{
+ "id": "count",
"title": "Nombre de requêtes"
},
{
+ "id": "err4xx",
"title": "Nombre de 4xx"
},
{
+ "id": "err5xx",
"title": "Nombre de 5xx"
},
{
+ "id": "latency",
"title": "Latence moyenne des requêtes"
},
{
+ "id": "integration_latency",
"title": "Latence moyenne d'intégration"
},
{
+ "id": "data",
"title": "Données traitées"
},
{
+ "id": "cache_hit",
"title": "Taux de hit du cache"
},
{
+ "id": "cache_miss",
"title": "Taux de miss du cache"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ja.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ja.json
index 30be59d..85f9d52 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ja.json
@@ -20,54 +20,70 @@
"dashboards": {
"service": [
{
+ "id": "count",
"title": "リクエスト数"
},
{
+ "id": "err4xx",
"title": "4xx 件数"
},
{
+ "id": "err5xx",
"title": "5xx 件数"
},
{
+ "id": "latency",
"title": "リクエスト平均レイテンシ"
},
{
+ "id": "integration_latency",
"title": "統合平均レイテンシ",
"tip": "ゲートウェイとバックエンド統合間のレイテンシ。"
},
{
+ "id": "data",
"title": "処理データ量 (HTTP API のみ)"
},
{
+ "id": "cache_hit",
"title": "キャッシュヒット率 (REST API のみ)"
},
{
+ "id": "cache_miss",
"title": "キャッシュミス率 (REST API のみ)"
}
],
"endpoint": [
{
+ "id": "count",
"title": "リクエスト数"
},
{
+ "id": "err4xx",
"title": "4xx 件数"
},
{
+ "id": "err5xx",
"title": "5xx 件数"
},
{
+ "id": "latency",
"title": "リクエスト平均レイテンシ"
},
{
+ "id": "integration_latency",
"title": "統合平均レイテンシ"
},
{
+ "id": "data",
"title": "処理データ量"
},
{
+ "id": "cache_hit",
"title": "キャッシュヒット率"
},
{
+ "id": "cache_miss",
"title": "キャッシュミス率"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ko.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ko.json
index 2fa6a35..00229c1 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.ko.json
@@ -20,54 +20,70 @@
"dashboards": {
"service": [
{
+ "id": "count",
"title": "요청 수"
},
{
+ "id": "err4xx",
"title": "4xx 수"
},
{
+ "id": "err5xx",
"title": "5xx 수"
},
{
+ "id": "latency",
"title": "요청 평균 지연 시간"
},
{
+ "id": "integration_latency",
"title": "통합 평균 지연 시간",
"tip": "게이트웨이와 백엔드 통합 사이의 지연 시간입니다."
},
{
+ "id": "data",
"title": "처리된 데이터 (HTTP API 전용)"
},
{
+ "id": "cache_hit",
"title": "캐시 적중률 (REST API 전용)"
},
{
+ "id": "cache_miss",
"title": "캐시 미스율 (REST API 전용)"
}
],
"endpoint": [
{
+ "id": "count",
"title": "요청 수"
},
{
+ "id": "err4xx",
"title": "4xx 수"
},
{
+ "id": "err5xx",
"title": "5xx 수"
},
{
+ "id": "latency",
"title": "요청 평균 지연 시간"
},
{
+ "id": "integration_latency",
"title": "통합 평균 지연 시간"
},
{
+ "id": "data",
"title": "처리된 데이터"
},
{
+ "id": "cache_hit",
"title": "캐시 적중률"
},
{
+ "id": "cache_miss",
"title": "캐시 미스율"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.pt.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.pt.json
index b54ef28..4e2a4f8 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.pt.json
@@ -24,54 +24,70 @@
"dashboards": {
"service": [
{
+ "id": "count",
"title": "Contagem de requisições"
},
{
+ "id": "err4xx",
"title": "Contagem de 4xx"
},
{
+ "id": "err5xx",
"title": "Contagem de 5xx"
},
{
+ "id": "latency",
"title": "Latência média da requisição"
},
{
+ "id": "integration_latency",
"title": "Latência média da integração",
"tip": "Latência entre o gateway e a integração backend."
},
{
+ "id": "data",
"title": "Dados processados (apenas HTTP API)"
},
{
+ "id": "cache_hit",
"title": "Taxa de cache hit (apenas REST API)"
},
{
+ "id": "cache_miss",
"title": "Taxa de cache miss (apenas REST API)"
}
],
"endpoint": [
{
+ "id": "count",
"title": "Contagem de requisições"
},
{
+ "id": "err4xx",
"title": "Contagem de 4xx"
},
{
+ "id": "err5xx",
"title": "Contagem de 5xx"
},
{
+ "id": "latency",
"title": "Latência média da requisição"
},
{
+ "id": "integration_latency",
"title": "Latência média da integração"
},
{
+ "id": "data",
"title": "Dados processados"
},
{
+ "id": "cache_hit",
"title": "Taxa de cache hit"
},
{
+ "id": "cache_miss",
"title": "Taxa de cache miss"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.zh-CN.json
index 3d5935e..8c444c2 100644
--- a/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/aws_gateway.i18n.zh-CN.json
@@ -7,32 +7,89 @@
},
"layer-header": {
"columns": [
- { "label": "请求数" },
- { "label": "延迟" },
- { "label": "4xx" },
- { "label": "5xx" }
+ {
+ "label": "请求数"
+ },
+ {
+ "label": "延迟"
+ },
+ {
+ "label": "4xx"
+ },
+ {
+ "label": "5xx"
+ }
]
},
"dashboards": {
"service": [
- { "title": "请求数" },
- { "title": "4xx 数量" },
- { "title": "5xx 数量" },
- { "title": "请求平均延迟" },
- { "title": "集成平均延迟", "tip": "网关与后端集成之间的延迟。" },
- { "title": "处理数据量(仅 HTTP API)" },
- { "title": "缓存命中率(仅 REST API)" },
- { "title": "缓存未命中率(仅 REST API)" }
+ {
+ "id": "count",
+ "title": "请求数"
+ },
+ {
+ "id": "err4xx",
+ "title": "4xx 数量"
+ },
+ {
+ "id": "err5xx",
+ "title": "5xx 数量"
+ },
+ {
+ "id": "latency",
+ "title": "请求平均延迟"
+ },
+ {
+ "id": "integration_latency",
+ "title": "集成平均延迟",
+ "tip": "网关与后端集成之间的延迟。"
+ },
+ {
+ "id": "data",
+ "title": "处理数据量(仅 HTTP API)"
+ },
+ {
+ "id": "cache_hit",
+ "title": "缓存命中率(仅 REST API)"
+ },
+ {
+ "id": "cache_miss",
+ "title": "缓存未命中率(仅 REST API)"
+ }
],
"endpoint": [
- { "title": "请求数" },
- { "title": "4xx 数量" },
- { "title": "5xx 数量" },
- { "title": "请求平均延迟" },
- { "title": "集成平均延迟" },
- { "title": "处理数据量" },
- { "title": "缓存命中率" },
- { "title": "缓存未命中率" }
+ {
+ "id": "count",
+ "title": "请求数"
+ },
+ {
+ "id": "err4xx",
+ "title": "4xx 数量"
+ },
+ {
+ "id": "err5xx",
+ "title": "5xx 数量"
+ },
+ {
+ "id": "latency",
+ "title": "请求平均延迟"
+ },
+ {
+ "id": "integration_latency",
+ "title": "集成平均延迟"
+ },
+ {
+ "id": "data",
+ "title": "处理数据量"
+ },
+ {
+ "id": "cache_hit",
+ "title": "缓存命中率"
+ },
+ {
+ "id": "cache_miss",
+ "title": "缓存未命中率"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.de.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.de.json
index a741872..c59f43f 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.de.json
@@ -20,64 +20,44 @@
"dashboards": {
"service": [
{
- "title": "Gesamtanzahl Anfragen",
- "expressions": [
- null
- ]
+ "id": "all_req",
+ "title": "Gesamtanzahl Anfragen"
},
{
- "title": "GET-Anfrageanzahl",
- "expressions": [
- null
- ]
+ "id": "get_req",
+ "title": "GET-Anfrageanzahl"
},
{
- "title": "PUT-Anfrageanzahl",
- "expressions": [
- null
- ]
+ "id": "put_req",
+ "title": "PUT-Anfrageanzahl"
},
{
- "title": "DELETE-Anfrageanzahl",
- "expressions": [
- null
- ]
+ "id": "delete_req",
+ "title": "DELETE-Anfrageanzahl"
},
{
- "title": "4xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err4xx",
+ "title": "4xx-Anzahl"
},
{
- "title": "5xx-Anzahl",
- "expressions": [
- null
- ]
+ "id": "err5xx",
+ "title": "5xx-Anzahl"
},
{
- "title": "Mittlere Anfragelatenz",
- "expressions": [
- null
- ]
+ "id": "latency",
+ "title": "Mittlere Anfragelatenz"
},
{
- "title": "First Byte mittlere Latenz",
- "expressions": [
- null
- ]
+ "id": "first_byte_latency",
+ "title": "First Byte mittlere Latenz"
},
{
- "title": "Heruntergeladen (KB)",
- "expressions": [
- null
- ]
+ "id": "downloaded",
+ "title": "Heruntergeladen (KB)"
},
{
- "title": "Hochgeladen (KB)",
- "expressions": [
- null
- ]
+ "id": "uploaded",
+ "title": "Hochgeladen (KB)"
}
]
},
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.es.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.es.json
index ecc50b1..fbab54d 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.es.json
@@ -20,33 +20,43 @@
"dashboards": {
"service": [
{
+ "id": "all_req",
"title": "Conteo de todas las peticiones"
},
{
+ "id": "get_req",
"title": "Conteo de peticiones GET"
},
{
+ "id": "put_req",
"title": "Conteo de peticiones PUT"
},
{
+ "id": "delete_req",
"title": "Conteo de peticiones DELETE"
},
{
+ "id": "err4xx",
"title": "Conteo 4xx"
},
{
+ "id": "err5xx",
"title": "Conteo 5xx"
},
{
+ "id": "latency",
"title": "Latencia media de petición"
},
{
+ "id": "first_byte_latency",
"title": "Latencia media del primer byte"
},
{
+ "id": "downloaded",
"title": "Descargado (KB)"
},
{
+ "id": "uploaded",
"title": "Subido (KB)"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.fr.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.fr.json
index 0642dcf..27d18e8 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.fr.json
@@ -20,33 +20,43 @@
"dashboards": {
"service": [
{
+ "id": "all_req",
"title": "Nombre total de requêtes"
},
{
+ "id": "get_req",
"title": "Nombre de requêtes GET"
},
{
+ "id": "put_req",
"title": "Nombre de requêtes PUT"
},
{
+ "id": "delete_req",
"title": "Nombre de requêtes DELETE"
},
{
+ "id": "err4xx",
"title": "Nombre de 4xx"
},
{
+ "id": "err5xx",
"title": "Nombre de 5xx"
},
{
+ "id": "latency",
"title": "Latence moyenne des requêtes"
},
{
+ "id": "first_byte_latency",
"title": "Latence moyenne du premier octet"
},
{
+ "id": "downloaded",
"title": "Téléchargés (Ko)"
},
{
+ "id": "uploaded",
"title": "Téléversés (Ko)"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ja.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ja.json
index 77c32c8..258b84b 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ja.json
@@ -20,33 +20,43 @@
"dashboards": {
"service": [
{
+ "id": "all_req",
"title": "全リクエスト数"
},
{
+ "id": "get_req",
"title": "GET リクエスト数"
},
{
+ "id": "put_req",
"title": "PUT リクエスト数"
},
{
+ "id": "delete_req",
"title": "DELETE リクエスト数"
},
{
+ "id": "err4xx",
"title": "4xx 件数"
},
{
+ "id": "err5xx",
"title": "5xx 件数"
},
{
+ "id": "latency",
"title": "リクエスト平均レイテンシ"
},
{
+ "id": "first_byte_latency",
"title": "First Byte 平均レイテンシ"
},
{
+ "id": "downloaded",
"title": "ダウンロード (KB)"
},
{
+ "id": "uploaded",
"title": "アップロード (KB)"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ko.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ko.json
index e7ccd27..2b484b9 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.ko.json
@@ -20,33 +20,43 @@
"dashboards": {
"service": [
{
+ "id": "all_req",
"title": "전체 요청 수"
},
{
+ "id": "get_req",
"title": "GET 요청 수"
},
{
+ "id": "put_req",
"title": "PUT 요청 수"
},
{
+ "id": "delete_req",
"title": "DELETE 요청 수"
},
{
+ "id": "err4xx",
"title": "4xx 수"
},
{
+ "id": "err5xx",
"title": "5xx 수"
},
{
+ "id": "latency",
"title": "요청 평균 지연 시간"
},
{
+ "id": "first_byte_latency",
"title": "첫 바이트 평균 지연 시간"
},
{
+ "id": "downloaded",
"title": "다운로드 (KB)"
},
{
+ "id": "uploaded",
"title": "업로드 (KB)"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.pt.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.pt.json
index 27d3b00..a700a7d 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.pt.json
@@ -23,33 +23,43 @@
"dashboards": {
"service": [
{
+ "id": "all_req",
"title": "Contagem total de requisições"
},
{
+ "id": "get_req",
"title": "Contagem de requisições GET"
},
{
+ "id": "put_req",
"title": "Contagem de requisições PUT"
},
{
+ "id": "delete_req",
"title": "Contagem de requisições DELETE"
},
{
+ "id": "err4xx",
"title": "Contagem de 4xx"
},
{
+ "id": "err5xx",
"title": "Contagem de 5xx"
},
{
+ "id": "latency",
"title": "Latência média da requisição"
},
{
+ "id": "first_byte_latency",
"title": "Latência média do primeiro byte"
},
{
+ "id": "downloaded",
"title": "Baixado (KB)"
},
{
+ "id": "uploaded",
"title": "Enviado (KB)"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.zh-CN.json b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.zh-CN.json
index 88b98d3..3fdce98 100644
--- a/apps/bff/src/bundled_templates/layers/aws_s3.i18n.zh-CN.json
+++ b/apps/bff/src/bundled_templates/layers/aws_s3.i18n.zh-CN.json
@@ -6,24 +6,62 @@
},
"layer-header": {
"columns": [
- { "label": "请求数" },
- { "label": "平均延迟" },
- { "label": "4xx" },
- { "label": "5xx" }
+ {
+ "label": "请求数"
+ },
+ {
+ "label": "平均延迟"
+ },
+ {
+ "label": "4xx"
+ },
+ {
+ "label": "5xx"
+ }
]
},
"dashboards": {
"service": [
- { "title": "全部请求数" },
- { "title": "GET 请求数" },
- { "title": "PUT 请求数" },
- { "title": "DELETE 请求数" },
- { "title": "4xx 数量" },
- { "title": "5xx 数量" },
- { "title": "请求平均延迟" },
- { "title": "首字节平均延迟" },
- { "title": "下载量(KB)" },
- { "title": "上传量(KB)" }
+ {
+ "id": "all_req",
+ "title": "全部请求数"
+ },
+ {
+ "id": "get_req",
+ "title": "GET 请求数"
+ },
+ {
+ "id": "put_req",
+ "title": "PUT 请求数"
+ },
+ {
+ "id": "delete_req",
+ "title": "DELETE 请求数"
+ },
+ {
+ "id": "err4xx",
+ "title": "4xx 数量"
+ },
+ {
+ "id": "err5xx",
+ "title": "5xx 数量"
+ },
+ {
+ "id": "latency",
+ "title": "请求平均延迟"
+ },
+ {
+ "id": "first_byte_latency",
+ "title": "首字节平均延迟"
+ },
+ {
+ "id": "downloaded",
+ "title": "下载量(KB)"
+ },
+ {
+ "id": "uploaded",
+ "title": "上传量(KB)"
+ }
]
}
}
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.de.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.de.json
index 6e28f59..3bef57e 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.de.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.de.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "Schreibrate",
"tip": "Clusterweite Schreibvorgänge pro Sekunde über die Datenmodelle measure + stream + trace."
},
{
+ "id": "cluster_query_kpi",
"title": "Query-Rate",
"tip": "Clusterweite gRPC-Query-Aufrufe pro Sekunde, gemessen am liaison-Eingang."
},
{
+ "id": "cluster_error_kpi",
"title": "Fehlerrate",
"tip": "Clusterweite Fehler pro Minute (gRPC + registry + stream-msg + publish + sync-loop). Fehlt der Wert, wird er auf einem gesunden Cluster als 0 dargestellt."
},
{
+ "id": "cluster_cpu_kpi",
"title": "CPU-Kerne",
"tip": "Gesamtzahl der über die Cluster-Container sichtbaren CPU-Kerne."
},
{
+ "id": "cluster_mem_kpi",
"title": "Speicher genutzt",
"tip": "Gesamter über den Cluster genutzter Speicher."
},
{
+ "id": "cluster_disk_kpi",
"title": "Festplatte genutzt",
"tip": "Gesamte über die data-Pfade des Clusters genutzte Festplattenbytes."
},
{
+ "id": "cluster_throughput",
"title": "Cluster-Durchsatz",
"tip": "Schreibrate vs. Query-Rate im Zeitverlauf.",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "Cluster-Fehler / min"
},
{
+ "id": "containers_by_role",
"title": "Container nach Rolle",
- "tip": "Anzahl aktiver Container pro Rolle (data / liaison), abgeleitet aus dem System-Uptime-Gauge. Der lifecycle-Sidecar führt keinen System-Collector aus und erscheint daher hier nie."
+ "tip": "Anzahl aktiver Container pro Rolle (data / liaison), abgeleitet aus dem System-Uptime-Gauge. Der lifecycle-Sidecar führt keinen System-Collector aus und erscheint daher hier nie.",
+ "tableHeaders": [
+ null,
+ "Container"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "Zeit seit letzter Synchronisierung",
"tip": "Zeit seit dem Start des letzten Migrationszyklus, z. B. \"5m 20s ago\". Erscheint, sobald der erste Migrationszyklus gelaufen ist."
},
{
+ "id": "lifecycle_last_run_success",
"title": "Letzte Synchronisierung",
"valueMap": {
"0": "Fehlgeschlagen",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "Migrationszyklen",
"tip": "Kumulative Tier-Migrationszyklen, die vom lifecycle-Sidecar ausgeführt werden."
},
{
+ "id": "cpu_usage",
"title": "CPU-Nutzung",
"tip": "Prozess-CPU-Verbrauch in Kernen."
},
{
+ "id": "rss_memory",
"title": "Resident Memory"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "GC-Pause (Durchschn.)",
"tip": "Durchschnittliche Go-GC-Pause pro Zyklus."
},
{
+ "id": "go_heap",
"title": "Go-Heap",
"expressionLabels": [
"in-use",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Go-Alloc-Rate"
},
{
+ "id": "node_uptime",
"title": "Uptime",
"tip": "Tage seit Start des Knotens. Fehlt auf dem lifecycle-Sidecar (kein System-Collector)."
},
{
+ "id": "system_memory_percent",
"title": "Systemspeicher genutzt"
},
{
+ "id": "disk_usage_percent",
"title": "Festplattennutzung",
"tip": "Genutzt / gesamt über die data-Pfade des Knotens."
},
{
+ "id": "disk_space",
"title": "Speicher belegt / gesamt",
"tip": "Belegung pro Datenpfad gegenüber der Gesamtkapazität des Dateisystems. Pfade auf demselben Dateisystem zeigen identische Werte.",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "Netzwerk-I/O",
"tip": "Empfangs- / Sendedurchsatz pro Interface.",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "Query-Rate nach Service",
"tip": "gRPC-Query-Aufrufe/s aufgeschlüsselt nach BanyanDB-Datenmodell-Service (measure / stream / trace / property)."
},
{
+ "id": "liaison_grpc_errors",
"title": "gRPC-Fehler / min",
"tip": "Summe aus total- + registry- + stream-msg-gRPC-Fehlern. Lazy registriert — fehlt der Wert, wird er auf einem gesunden liaison als 0 dargestellt."
},
{
+ "id": "liaison_registry_ops",
"title": "Registry-Ops / s",
"tip": "Schema-registry-Operationen/s, gemessen am liaison-Eingang."
},
{
+ "id": "liaison_write_rate",
"title": "Schreibrate",
"tip": "Schreibvorgänge/s, gemessen am liaison-Eingang über die drei Datenmodelle."
},
{
+ "id": "liaison_publish_throughput",
"title": "Publish-Durchsatz",
"tip": "Tier-2-Publish-Pipeline (liaison → data), aufgeschlüsselt nach Operation."
},
{
+ "id": "liaison_publish_latency",
"title": "Publish-p99-Latenz",
"tip": "p99-Sendelatenz der Tier-2-Publish-Pipeline, pro Operation."
},
{
+ "id": "liaison_publish_bytes",
"title": "Part-sync-Bytes"
},
{
+ "id": "liaison_wqueue",
"title": "Write-Queue ausstehend",
"tip": "liaison-Schreibpuffer-Tiefe: am Eingang vor dem Publish gepufferte Records."
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Publish-Batch-Durchsatz",
"tip": "Veröffentlichte Batches/s nach Operation. Ausgeblendet, bis der Cluster Batch-Metriken liefert."
},
{
+ "id": "liaison_publish_batch_latency",
"title": "Publish-Batch-p99"
},
{
+ "id": "data_total",
"title": "Gespeicherte Datenelemente",
"tip": "Gesamtzahl der gespeicherten file-Elemente über measure + stream + trace."
},
{
+ "id": "data_wqueue",
"title": "Write-Queue (wqueue)",
"tip": "Schreib-Queue des data-Knotens: ausstehende Records, file parts auf der Festplatte, In-Memory-parts."
},
{
+ "id": "data_merge_rate",
"title": "Merge-Loop-Rate"
},
{
+ "id": "data_merge_latency",
"title": "Merge-File-Latenz",
"tip": "Durchschnittliche Latenz des file-Merge auf der Festplatte pro Merge-Loop."
},
{
+ "id": "data_merge_partitions",
"title": "Merge-Parts / Loop",
"tip": "Durchschnittliche Anzahl der pro Merge-Loop auf der Festplatte zusammengeführten parts."
},
{
+ "id": "data_index_rate",
"title": "Inverted-Index-Rate",
"tip": "Series-Index-Updates und Term-Suchen pro Sekunde (measure + stream storage + stream tst).",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "Index-Dokumente",
"tip": "Gesamtzahl der Inverted-Index-Dokumente (series proxy).",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Subscribe-Durchsatz",
"tip": "Queue-Durchsatz auf der Subscribe-Seite nach Operation (query / file-sync / batch-write / control)."
},
{
+ "id": "data_subscribe_latency",
"title": "Subscribe-p99-Latenz"
},
{
+ "id": "data_retention",
"title": "Retention-Festplattennutzung",
"tip": "Festplattennutzung in Prozent pro Datenmodell-Retention.",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Subscribe-Message-Durchsatz",
"tip": "Verarbeitungsrate pro Datensatz, die der Abonnent aus Batches entpackt."
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure Write / s",
"tip": "Schreibvorgänge pro Sekunde für diese group (gemäß Schreibzähler des Datenmodells)."
},
{
+ "id": "measure_query_latency",
"title": "Measure Query-Latenz",
"tip": "Mittlere liaison-Query-Latenz für diese group."
},
{
+ "id": "measure_total_data",
"title": "Measure Total Data",
"tip": "Aktuell gespeicherte Datenelemente für diese group."
},
{
+ "id": "measure_merge_rate",
"title": "Measure Merge-Rate",
"tip": "Iterationen des file-Merge-Loops pro Minute."
},
{
+ "id": "measure_merge_latency",
"title": "Measure Merge-Latenz",
"tip": "Mittlere file-Merge-Latenz pro Merge-Loop."
},
{
+ "id": "measure_merge_partitions",
"title": "Measure Merge-Partitionen",
"tip": "Durchschnittlich pro file-Merge-Loop zusammengeführte parts."
},
{
+ "id": "measure_series_write_rate",
"title": "Measure Series Write / s",
"tip": "Inverted-Index-Updates pro Sekunde (Näherung für Series-Schreibvorgänge)."
},
{
+ "id": "measure_term_search_rate",
"title": "Measure Term Search / s",
"tip": "Inverted-Index-Term-Suchen pro Sekunde (Lesedruck auf den Index)."
},
{
+ "id": "measure_total_series",
"title": "Measure Total Series",
"tip": "Gesamtzahl der Inverted-Index-Dokumente (Series-Näherung) für diese group."
},
{
+ "id": "stream_write_rate",
"title": "Stream Write / s",
"tip": "Schreibvorgänge pro Sekunde für diese group (gemäß Schreibzähler des Datenmodells)."
},
{
+ "id": "stream_query_latency",
"title": "Stream Query-Latenz",
"tip": "Mittlere liaison-Query-Latenz für diese group."
},
{
+ "id": "stream_total_data",
"title": "Stream Total Data",
"tip": "Aktuell gespeicherte Datenelemente für diese group."
},
{
+ "id": "stream_merge_rate",
"title": "Stream Merge-Rate",
"tip": "Iterationen des file-Merge-Loops pro Minute."
},
{
+ "id": "stream_merge_latency",
"title": "Stream Merge-Latenz",
"tip": "Mittlere file-Merge-Latenz pro Merge-Loop."
},
{
+ "id": "stream_merge_partitions",
"title": "Stream Merge-Partitionen",
"tip": "Durchschnittlich pro file-Merge-Loop zusammengeführte parts."
},
{
+ "id": "stream_series_write_rate",
"title": "Stream Series Write / s",
"tip": "Inverted-Index-Updates pro Sekunde (Näherung für Series-Schreibvorgänge)."
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Stream TST Index Write / s",
"tip": "Inverted-Index-Updates im tst-Scope von stream pro Sekunde (getrennt vom Series-Index des storage-Scopes)."
},
{
+ "id": "stream_term_search_rate",
"title": "Stream Term Search / s",
"tip": "Inverted-Index-Term-Suchen pro Sekunde (Lesedruck auf den Index)."
},
{
+ "id": "stream_total_series",
"title": "Stream Total Series",
"tip": "Gesamtzahl der Inverted-Index-Dokumente (Series-Näherung) für diese group."
},
{
+ "id": "stream_tst_total_series",
"title": "Stream TST Total Series",
"tip": "Gesamtzahl der Index-Dokumente im tst-Scope von stream (getrennt vom Series-Index des storage-Scopes)."
},
{
+ "id": "trace_write_rate",
"title": "Trace Write / s",
"tip": "Schreibvorgänge pro Sekunde für diese group (gemäß Schreibzähler des Datenmodells)."
},
{
+ "id": "trace_query_latency",
"title": "Trace Query-Latenz",
"tip": "Mittlere liaison-Query-Latenz für diese group."
},
{
+ "id": "trace_total_data",
"title": "Trace Total Data",
"tip": "Aktuell gespeicherte Datenelemente für diese group."
},
{
+ "id": "trace_merge_rate",
"title": "Trace Merge-Rate",
"tip": "Iterationen des file-Merge-Loops pro Minute."
},
{
+ "id": "trace_merge_latency",
"title": "Trace Merge-Latenz",
"tip": "Mittlere file-Merge-Latenz pro Merge-Loop."
},
{
+ "id": "trace_merge_partitions",
"title": "Trace Merge-Partitionen",
"tip": "Durchschnittlich pro file-Merge-Loop zusammengeführte parts."
},
{
+ "id": "trace_series_write_rate",
"title": "Trace Series Write / s",
"tip": "Inverted-Index-Updates pro Sekunde (Näherung für Series-Schreibvorgänge)."
},
{
+ "id": "trace_term_search_rate",
"title": "Trace Term Search / s",
"tip": "Inverted-Index-Term-Suchen pro Sekunde (Lesedruck auf den Index)."
},
{
+ "id": "trace_total_series",
"title": "Trace Total Series",
"tip": "Gesamtzahl der Inverted-Index-Dokumente (Series-Näherung) für diese group."
},
{
+ "id": "property_index_write_rate",
"title": "Property Index Write / s",
"tip": "Inverted-Index-Updates der property-registry pro Sekunde (Schreibsignal von property)."
},
{
+ "id": "property_index_merge_rate",
"title": "Property Index Merge-Rate",
"tip": "Segment-Merges des property-Inverted-Index pro Minute (property hat keinen tst-Merge-Loop)."
},
{
+ "id": "property_index_merge_latency",
"title": "Property Index Merge-Latenz",
"tip": "Mittlere Merge-Latenz des property-Inverted-Index."
},
{
+ "id": "property_term_search_rate",
"title": "Property Term Search / s",
"tip": "Term-Suchen von property pro Sekunde — property wird über den registry-/Term-Search-Pfad gelesen, nicht über die liaison-Query-Methode, daher ist dies sein Leselast-Signal."
},
{
+ "id": "property_total_series",
"title": "Property Total Series",
"tip": "Gesamtzahl der property-Inverted-Index-Dokumente für diese group."
},
{
+ "id": "group_queue_throughput",
"title": "Subscribe-Durchsatz",
"tip": "Queue-Nachrichten pro Sekunde auf der Subscribe-Seite für diese group, nach Operation."
},
{
+ "id": "group_queue_latency",
"title": "Publish p99",
"tip": "p99-Queue-Latenz auf der Publish-Seite für diese group."
},
{
+ "id": "group_queue_batch_throughput",
"title": "Batch-Durchsatz",
"tip": "Schreib-Batch-Rate pro Group, nach Operation."
},
{
+ "id": "group_queue_message_throughput",
"title": "Message-Durchsatz",
"tip": "Rate pro Datensatz pro Group, nach Operation."
},
{
+ "id": "group_publish_bytes",
"title": "Part-sync-Bytes / s"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.es.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.es.json
index 65579cb..7fe4a7d 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.es.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.es.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "Tasa de escritura",
"tip": "Escrituras por segundo en todo el clúster a través de los modelos de datos measure + stream + trace."
},
{
+ "id": "cluster_query_kpi",
"title": "Tasa de consultas",
"tip": "Llamadas de consulta gRPC por segundo en todo el clúster, vistas en la puerta de entrada del liaison."
},
{
+ "id": "cluster_error_kpi",
"title": "Tasa de errores",
"tip": "Errores por minuto en todo el clúster (gRPC + registry + stream-msg + publish + sync-loop). Su ausencia se representa como 0 en un clúster saludable."
},
{
+ "id": "cluster_cpu_kpi",
"title": "Núcleos de CPU",
"tip": "Total de núcleos de CPU visibles en los contenedores del clúster."
},
{
+ "id": "cluster_mem_kpi",
"title": "Memoria usada",
"tip": "Memoria total usada en todo el clúster."
},
{
+ "id": "cluster_disk_kpi",
"title": "Disco usado",
"tip": "Total de bytes en disco usados en las rutas de datos del clúster."
},
{
+ "id": "cluster_throughput",
"title": "Rendimiento del clúster",
"tip": "Tasa de escritura vs consulta a lo largo del tiempo.",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "Errores del clúster / min"
},
{
+ "id": "containers_by_role",
"title": "Contenedores por rol",
- "tip": "Conteo de contenedores activos por rol (data / liaison), derivado del gauge de uptime del sistema. El sidecar de lifecycle no ejecuta ningún colector de sistema, por lo que nunca aparece aquí."
+ "tip": "Conteo de contenedores activos por rol (data / liaison), derivado del gauge de uptime del sistema. El sidecar de lifecycle no ejecuta ningún colector de sistema, por lo que nunca aparece aquí.",
+ "tableHeaders": [
+ null,
+ "Contenedores"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "Tiempo desde la última sincronización",
"tip": "Tiempo transcurrido desde que comenzó el último ciclo de migración, p. ej. \"5m 20s ago\". Aparece una vez ejecutado el primer ciclo de migración."
},
{
+ "id": "lifecycle_last_run_success",
"title": "Última sincronización",
"valueMap": {
"0": "Fallido",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "Ciclos de migración",
"tip": "Ciclos acumulados de migración de niveles ejecutados por el sidecar de lifecycle."
},
{
+ "id": "cpu_usage",
"title": "Uso de CPU",
"tip": "Consumo de CPU del proceso en núcleos."
},
{
+ "id": "rss_memory",
"title": "Memoria residente"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "Pausa de GC (media)",
"tip": "Pausa media de GC de Go por ciclo."
},
{
+ "id": "go_heap",
"title": "Heap de Go",
"expressionLabels": [
"en uso",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Tasa de asignación de Go"
},
{
+ "id": "node_uptime",
"title": "Uptime",
"tip": "Días desde que el nodo arrancó. Ausente en el sidecar de lifecycle (sin colector de sistema)."
},
{
+ "id": "system_memory_percent",
"title": "Memoria del sistema usada"
},
{
+ "id": "disk_usage_percent",
"title": "Uso de disco",
"tip": "Usado / total en las rutas de datos del nodo."
},
{
+ "id": "disk_space",
"title": "Disco usado / total",
"tip": "Uso por ruta de datos, frente a la capacidad total del sistema de archivos. Las rutas que comparten un sistema de archivos muestran cifras idénticas.",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "I/O de red",
"tip": "Rendimiento de recepción / envío por interfaz.",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "Tasa de consultas por servicio",
"tip": "Llamadas de consulta gRPC/s desglosadas por servicio del modelo de datos de BanyanDB (measure / stream / trace / property)."
},
{
+ "id": "liaison_grpc_errors",
"title": "Errores gRPC / min",
"tip": "Suma de errores gRPC total + registry + stream-msg. Registrados de forma diferida — su ausencia se representa como 0 en un liaison saludable."
},
{
+ "id": "liaison_registry_ops",
"title": "Ops de registry / s",
"tip": "Operaciones del schema-registry por segundo vistas en la puerta de entrada del liaison."
},
{
+ "id": "liaison_write_rate",
"title": "Tasa de escritura",
"tip": "Escrituras/s vistas en la puerta de entrada del liaison a través de los tres modelos de datos."
},
{
+ "id": "liaison_publish_throughput",
"title": "Rendimiento de publish",
"tip": "Pipeline de publish de nivel 2 (liaison → data), desglosado por operación."
},
{
+ "id": "liaison_publish_latency",
"title": "Latencia p99 de publish",
"tip": "Latencia p99 de envío del pipeline de publish de nivel 2, por operación."
},
{
+ "id": "liaison_publish_bytes",
"title": "Bytes de part-sync"
},
{
+ "id": "liaison_wqueue",
"title": "Cola de escritura pendiente",
"tip": "Profundidad del buffer de escritura del liaison: registros almacenados en la puerta de entrada antes del publish."
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Rendimiento de batch de publish",
"tip": "Batches publicados/s por operación. Oculto hasta que el clúster emita métricas de batch."
},
{
+ "id": "liaison_publish_batch_latency",
"title": "p99 de batch de publish"
},
{
+ "id": "data_total",
"title": "Elementos de datos almacenados",
"tip": "Total de elementos de archivo almacenados a través de measure + stream + trace."
},
{
+ "id": "data_wqueue",
"title": "Cola de escritura (wqueue)",
"tip": "Cola de escritura del nodo data: registros pendientes, parts de archivo en disco, parts en memoria."
},
{
+ "id": "data_merge_rate",
"title": "Tasa de bucle de merge"
},
{
+ "id": "data_merge_latency",
"title": "Latencia de merge de archivos",
"tip": "Latencia media de merge de archivos en disco por bucle de merge."
},
{
+ "id": "data_merge_partitions",
"title": "Parts de merge / bucle",
"tip": "Parts fusionados de media por bucle de merge en disco."
},
{
+ "id": "data_index_rate",
"title": "Tasa de índice invertido",
"tip": "Actualizaciones del índice de series y búsquedas de términos por segundo (almacenamiento de measure + stream + tst de stream).",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "Documentos del índice",
"tip": "Total de documentos del índice invertido (proxy de series).",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Rendimiento de subscribe",
"tip": "Rendimiento de la cola del lado de subscribe por operación (query / file-sync / batch-write / control)."
},
{
+ "id": "data_subscribe_latency",
"title": "Latencia p99 de subscribe"
},
{
+ "id": "data_retention",
"title": "Uso de disco de retención",
"tip": "Porcentaje de uso de disco de retención por modelo de datos.",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Rendimiento de mensajes de subscribe",
"tip": "Tasa de procesamiento por registro que el suscriptor extrae de los batches."
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure Write / s",
"tip": "Escrituras por segundo para este grupo (contador de escrituras por modelo de datos)."
},
{
+ "id": "measure_query_latency",
"title": "Latencia de consulta de Measure",
"tip": "Latencia media de consulta del liaison para este grupo."
},
{
+ "id": "measure_total_data",
"title": "Datos totales de Measure",
"tip": "Elementos de datos almacenados actualmente para este grupo."
},
{
+ "id": "measure_merge_rate",
"title": "Tasa de merge de Measure",
"tip": "Iteraciones del bucle de merge de archivos por minuto."
},
{
+ "id": "measure_merge_latency",
"title": "Latencia de merge de Measure",
"tip": "Latencia media de merge de archivos por bucle de merge."
},
{
+ "id": "measure_merge_partitions",
"title": "Particiones de merge de Measure",
"tip": "Media de parts fusionados por bucle de merge de archivos."
},
{
+ "id": "measure_series_write_rate",
"title": "Measure Series Write / s",
"tip": "Actualizaciones del índice invertido por segundo (proxy de escritura de series)."
},
{
+ "id": "measure_term_search_rate",
"title": "Measure Term Search / s",
"tip": "Invocaciones de búsqueda de términos del índice invertido por segundo (presión de lectura del índice)."
},
{
+ "id": "measure_total_series",
"title": "Total de series de Measure",
"tip": "Total de documentos del índice invertido (proxy de series) para este grupo."
},
{
+ "id": "stream_write_rate",
"title": "Stream Write / s",
"tip": "Escrituras por segundo para este grupo (contador de escrituras por modelo de datos)."
},
{
+ "id": "stream_query_latency",
"title": "Latencia de consulta de Stream",
"tip": "Latencia media de consulta del liaison para este grupo."
},
{
+ "id": "stream_total_data",
"title": "Datos totales de Stream",
"tip": "Elementos de datos almacenados actualmente para este grupo."
},
{
+ "id": "stream_merge_rate",
"title": "Tasa de merge de Stream",
"tip": "Iteraciones del bucle de merge de archivos por minuto."
},
{
+ "id": "stream_merge_latency",
"title": "Latencia de merge de Stream",
"tip": "Latencia media de merge de archivos por bucle de merge."
},
{
+ "id": "stream_merge_partitions",
"title": "Particiones de merge de Stream",
"tip": "Media de parts fusionados por bucle de merge de archivos."
},
{
+ "id": "stream_series_write_rate",
"title": "Stream Series Write / s",
"tip": "Actualizaciones del índice invertido por segundo (proxy de escritura de series)."
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Stream TST Index Write / s",
"tip": "Actualizaciones del índice invertido del ámbito tst de stream por segundo (distinto del índice de series del ámbito de almacenamiento)."
},
{
+ "id": "stream_term_search_rate",
"title": "Stream Term Search / s",
"tip": "Invocaciones de búsqueda de términos del índice invertido por segundo (presión de lectura del índice)."
},
{
+ "id": "stream_total_series",
"title": "Total de series de Stream",
"tip": "Total de documentos del índice invertido (proxy de series) para este grupo."
},
{
+ "id": "stream_tst_total_series",
"title": "Total de series TST de Stream",
"tip": "Total de documentos del índice del ámbito tst de stream (distinto del índice de series del ámbito de almacenamiento)."
},
{
+ "id": "trace_write_rate",
"title": "Trace Write / s",
"tip": "Escrituras por segundo para este grupo (contador de escrituras por modelo de datos)."
},
{
+ "id": "trace_query_latency",
"title": "Latencia de consulta de Trace",
"tip": "Latencia media de consulta del liaison para este grupo."
},
{
+ "id": "trace_total_data",
"title": "Datos totales de Trace",
"tip": "Elementos de datos almacenados actualmente para este grupo."
},
{
+ "id": "trace_merge_rate",
"title": "Tasa de merge de Trace",
"tip": "Iteraciones del bucle de merge de archivos por minuto."
},
{
+ "id": "trace_merge_latency",
"title": "Latencia de merge de Trace",
"tip": "Latencia media de merge de archivos por bucle de merge."
},
{
+ "id": "trace_merge_partitions",
"title": "Particiones de merge de Trace",
"tip": "Media de parts fusionados por bucle de merge de archivos."
},
{
+ "id": "trace_series_write_rate",
"title": "Trace Series Write / s",
"tip": "Actualizaciones del índice invertido por segundo (proxy de escritura de series)."
},
{
+ "id": "trace_term_search_rate",
"title": "Trace Term Search / s",
"tip": "Invocaciones de búsqueda de términos del índice invertido por segundo (presión de lectura del índice)."
},
{
+ "id": "trace_total_series",
"title": "Total de series de Trace",
"tip": "Total de documentos del índice invertido (proxy de series) para este grupo."
},
{
+ "id": "property_index_write_rate",
"title": "Property Index Write / s",
"tip": "Actualizaciones del índice invertido del registry de property por segundo (señal de escritura de property)."
},
{
+ "id": "property_index_merge_rate",
"title": "Tasa de merge del índice de Property",
"tip": "Merges de segmentos del índice invertido de property por minuto (property no tiene bucle de merge de tst)."
},
{
+ "id": "property_index_merge_latency",
"title": "Latencia de merge del índice de Property",
"tip": "Latencia media de merge del índice invertido de property."
},
{
+ "id": "property_term_search_rate",
"title": "Property Term Search / s",
"tip": "Invocaciones de búsqueda de términos de property por segundo: property se lee por la vía de registry/búsqueda de términos, no por el método de consulta del liaison, así que esta es su señal de carga de lectura."
},
{
+ "id": "property_total_series",
"title": "Total de series de Property",
"tip": "Total de documentos del índice invertido de property para este grupo."
},
{
+ "id": "group_queue_throughput",
"title": "Rendimiento de subscribe",
"tip": "Mensajes de la cola del lado de subscribe por segundo para este grupo, por operación."
},
{
+ "id": "group_queue_latency",
"title": "p99 de publish",
"tip": "Latencia p99 de la cola del lado de publish para este grupo."
},
{
+ "id": "group_queue_batch_throughput",
"title": "Rendimiento de batch",
"tip": "Tasa de batches de escritura por group, por operación."
},
{
+ "id": "group_queue_message_throughput",
"title": "Rendimiento de mensajes",
"tip": "Tasa por registro por group, por operación."
},
{
+ "id": "group_publish_bytes",
"title": "Bytes de part-sync / s"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.fr.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.fr.json
index 877b762..15fd51c 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.fr.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.fr.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "Débit d'écriture",
"tip": "Écritures par seconde à l'échelle du cluster, tous modèles de données confondus : measure + stream + trace."
},
{
+ "id": "cluster_query_kpi",
"title": "Débit de requêtes",
"tip": "Appels de requête gRPC par seconde à l'échelle du cluster, observés en entrée du liaison."
},
{
+ "id": "cluster_error_kpi",
"title": "Taux d'erreurs",
"tip": "Erreurs par minute à l'échelle du cluster (gRPC + registry + stream-msg + publish + sync-loop). Affiché à 0 lorsqu'absent sur un cluster sain."
},
{
+ "id": "cluster_cpu_kpi",
"title": "Cœurs CPU",
"tip": "Nombre total de cœurs CPU visibles sur les conteneurs du cluster."
},
{
+ "id": "cluster_mem_kpi",
"title": "Mémoire utilisée",
"tip": "Mémoire totale utilisée sur l'ensemble du cluster."
},
{
+ "id": "cluster_disk_kpi",
"title": "Disque utilisé",
"tip": "Total des octets utilisés sur disque par les chemins de données du cluster."
},
{
+ "id": "cluster_throughput",
"title": "Débit du cluster",
"tip": "Débit d'écriture vs requêtes dans le temps.",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "Erreurs du cluster / min"
},
{
+ "id": "containers_by_role",
"title": "Conteneurs par rôle",
- "tip": "Nombre de conteneurs actifs par rôle (data / liaison), dérivé de la jauge d'uptime système. Le sidecar lifecycle n'exécute aucun collecteur système, il n'apparaît donc jamais ici."
+ "tip": "Nombre de conteneurs actifs par rôle (data / liaison), dérivé de la jauge d'uptime système. Le sidecar lifecycle n'exécute aucun collecteur système, il n'apparaît donc jamais ici.",
+ "tableHeaders": [
+ null,
+ "Conteneurs"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "Temps depuis la dernière synchro",
"tip": "Temps écoulé depuis le début du dernier cycle de migration, p. ex. \"5m 20s ago\". Apparaît une fois le premier cycle de migration exécuté."
},
{
+ "id": "lifecycle_last_run_success",
"title": "Dernière synchronisation",
"valueMap": {
"0": "Échec",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "Cycles de migration",
"tip": "Cycles de migration entre niveaux cumulés exécutés par le sidecar lifecycle."
},
{
+ "id": "cpu_usage",
"title": "Utilisation CPU",
"tip": "Consommation CPU du processus, en cœurs."
},
{
+ "id": "rss_memory",
"title": "Mémoire résidente"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "Pause GC (moy)",
"tip": "Pause GC Go moyenne par cycle."
},
{
+ "id": "go_heap",
"title": "Tas Go",
"expressionLabels": [
"en cours d'utilisation",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Taux d'allocation Go"
},
{
+ "id": "node_uptime",
"title": "Uptime",
"tip": "Jours écoulés depuis le démarrage du nœud. Absent sur le sidecar lifecycle (aucun collecteur système)."
},
{
+ "id": "system_memory_percent",
"title": "Mémoire système utilisée"
},
{
+ "id": "disk_usage_percent",
"title": "Utilisation disque",
"tip": "Utilisé / total sur les chemins de données du nœud."
},
{
+ "id": "disk_space",
"title": "Disque utilisé / total",
"tip": "Utilisation par chemin de données, par rapport à la capacité totale du système de fichiers. Les chemins partageant un système de fichiers affichent des valeurs identiques.",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "I/O réseau",
"tip": "Débit réception / émission par interface.",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "Débit de requêtes par service",
"tip": "Appels de requête gRPC/s répartis par service de modèle de données BanyanDB (measure / stream / trace / property)."
},
{
+ "id": "liaison_grpc_errors",
"title": "Erreurs gRPC / min",
"tip": "Somme des erreurs gRPC total + registry + stream-msg. Enregistrées paresseusement — affiché à 0 lorsqu'absent sur un liaison sain."
},
{
+ "id": "liaison_registry_ops",
"title": "Opérations registry / s",
"tip": "Opérations du registry de schémas par seconde, observées en entrée du liaison."
},
{
+ "id": "liaison_write_rate",
"title": "Débit d'écriture",
"tip": "Écritures/s observées en entrée du liaison sur les trois modèles de données."
},
{
+ "id": "liaison_publish_throughput",
"title": "Débit de publication",
"tip": "Pipeline de publication de niveau 2 (liaison → data), ventilé par opération."
},
{
+ "id": "liaison_publish_latency",
"title": "Latence p99 de publication",
"tip": "Latence d'émission p99 du pipeline de publication de niveau 2, par opération."
},
{
+ "id": "liaison_publish_bytes",
"title": "Octets de part-sync"
},
{
+ "id": "liaison_wqueue",
"title": "File d'écriture en attente",
"tip": "Profondeur du tampon d'écriture du liaison : enregistrements mis en tampon en entrée avant publication."
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Débit de lots de publication",
"tip": "Batches publiés/s par opération. Masqué jusqu’à ce que le cluster émette des métriques de batch."
},
{
+ "id": "liaison_publish_batch_latency",
"title": "p99 des lots de publication"
},
{
+ "id": "data_total",
"title": "Éléments de données stockés",
"tip": "Total des éléments de fichier stockés sur measure + stream + trace."
},
{
+ "id": "data_wqueue",
"title": "File d'écriture (wqueue)",
"tip": "File d'écriture du nœud data : enregistrements en attente, parts de fichier sur disque, parts en mémoire."
},
{
+ "id": "data_merge_rate",
"title": "Débit des boucles de fusion"
},
{
+ "id": "data_merge_latency",
"title": "Latence de fusion de fichiers",
"tip": "Latence moyenne de fusion de fichiers sur disque par boucle de fusion."
},
{
+ "id": "data_merge_partitions",
"title": "Parts fusionnées / boucle",
"tip": "Nombre moyen de parts fusionnées par boucle de fusion sur disque."
},
{
+ "id": "data_index_rate",
"title": "Débit de l'index inversé",
"tip": "Mises à jour de l'index de séries et recherches de termes par seconde (measure + stream storage + stream tst).",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "Documents d'index",
"tip": "Total des documents de l'index inversé (proxy de séries).",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Débit de souscription",
"tip": "Débit de file côté souscription par opération (query / file-sync / batch-write / control)."
},
{
+ "id": "data_subscribe_latency",
"title": "Latence p99 de souscription"
},
{
+ "id": "data_retention",
"title": "Utilisation disque par rétention",
"tip": "Pourcentage d'utilisation disque de rétention par modèle de données.",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Débit de messages de souscription",
"tip": "Débit de traitement par enregistrement que l’abonné extrait des batches."
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure Écritures / s",
"tip": "Écritures par seconde pour ce group (compteur d'écriture du modèle de données)."
},
{
+ "id": "measure_query_latency",
"title": "Latence de requête Measure",
"tip": "Latence moyenne de requête liaison pour ce group."
},
{
+ "id": "measure_total_data",
"title": "Total des données Measure",
"tip": "Éléments de données actuellement stockés pour ce group."
},
{
+ "id": "measure_merge_rate",
"title": "Débit de fusion Measure",
"tip": "Itérations de la boucle de fusion de fichiers par minute."
},
{
+ "id": "measure_merge_latency",
"title": "Latence de fusion Measure",
"tip": "Latence moyenne de fusion de fichiers par boucle de fusion."
},
{
+ "id": "measure_merge_partitions",
"title": "Parts fusionnées Measure",
"tip": "Nombre moyen de parts fusionnées par boucle de fusion de fichiers."
},
{
+ "id": "measure_series_write_rate",
"title": "Écritures de séries Measure / s",
"tip": "Mises à jour de l'index inversé par seconde (proxy d'écriture de séries)."
},
{
+ "id": "measure_term_search_rate",
"title": "Recherches de termes Measure / s",
"tip": "Recherches de termes dans l'index inversé par seconde (pression de lecture sur l'index)."
},
{
+ "id": "measure_total_series",
"title": "Total des séries Measure",
"tip": "Total des documents de l'index inversé (proxy de séries) pour ce group."
},
{
+ "id": "stream_write_rate",
"title": "Stream Écritures / s",
"tip": "Écritures par seconde pour ce group (compteur d'écriture du modèle de données)."
},
{
+ "id": "stream_query_latency",
"title": "Latence de requête Stream",
"tip": "Latence moyenne de requête liaison pour ce group."
},
{
+ "id": "stream_total_data",
"title": "Total des données Stream",
"tip": "Éléments de données actuellement stockés pour ce group."
},
{
+ "id": "stream_merge_rate",
"title": "Débit de fusion Stream",
"tip": "Itérations de la boucle de fusion de fichiers par minute."
},
{
+ "id": "stream_merge_latency",
"title": "Latence de fusion Stream",
"tip": "Latence moyenne de fusion de fichiers par boucle de fusion."
},
{
+ "id": "stream_merge_partitions",
"title": "Parts fusionnées Stream",
"tip": "Nombre moyen de parts fusionnées par boucle de fusion de fichiers."
},
{
+ "id": "stream_series_write_rate",
"title": "Écritures de séries Stream / s",
"tip": "Mises à jour de l'index inversé par seconde (proxy d'écriture de séries)."
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Écritures d'index TST Stream / s",
"tip": "Mises à jour de l'index inversé de portée tst pour stream, par seconde (distinct de l'index de séries de portée stockage)."
},
{
+ "id": "stream_term_search_rate",
"title": "Recherches de termes Stream / s",
"tip": "Recherches de termes dans l'index inversé par seconde (pression de lecture sur l'index)."
},
{
+ "id": "stream_total_series",
"title": "Total des séries Stream",
"tip": "Total des documents de l'index inversé (proxy de séries) pour ce group."
},
{
+ "id": "stream_tst_total_series",
"title": "Total des séries TST Stream",
"tip": "Total des documents d'index de portée tst pour stream (distinct de l'index de séries de portée stockage)."
},
{
+ "id": "trace_write_rate",
"title": "Trace Écritures / s",
"tip": "Écritures par seconde pour ce group (compteur d'écriture du modèle de données)."
},
{
+ "id": "trace_query_latency",
"title": "Latence de requête Trace",
"tip": "Latence moyenne de requête liaison pour ce group."
},
{
+ "id": "trace_total_data",
"title": "Total des données Trace",
"tip": "Éléments de données actuellement stockés pour ce group."
},
{
+ "id": "trace_merge_rate",
"title": "Débit de fusion Trace",
"tip": "Itérations de la boucle de fusion de fichiers par minute."
},
{
+ "id": "trace_merge_latency",
"title": "Latence de fusion Trace",
"tip": "Latence moyenne de fusion de fichiers par boucle de fusion."
},
{
+ "id": "trace_merge_partitions",
"title": "Parts fusionnées Trace",
"tip": "Nombre moyen de parts fusionnées par boucle de fusion de fichiers."
},
{
+ "id": "trace_series_write_rate",
"title": "Écritures de séries Trace / s",
"tip": "Mises à jour de l'index inversé par seconde (proxy d'écriture de séries)."
},
{
+ "id": "trace_term_search_rate",
"title": "Recherches de termes Trace / s",
"tip": "Recherches de termes dans l'index inversé par seconde (pression de lecture sur l'index)."
},
{
+ "id": "trace_total_series",
"title": "Total des séries Trace",
"tip": "Total des documents de l'index inversé (proxy de séries) pour ce group."
},
{
+ "id": "property_index_write_rate",
"title": "Écritures d'index Property / s",
"tip": "Mises à jour de l'index inversé du registry property par seconde (signal d'écriture de property)."
},
{
+ "id": "property_index_merge_rate",
"title": "Débit de fusion d'index Property",
"tip": "Fusions de segments de l'index inversé property par minute (property n'a pas de boucle de fusion tst)."
},
{
+ "id": "property_index_merge_latency",
"title": "Latence de fusion d'index Property",
"tip": "Latence moyenne de fusion de l'index inversé property."
},
{
+ "id": "property_term_search_rate",
"title": "Recherches de termes Property / s",
"tip": "Recherches de termes property par seconde — property est lu via le chemin registry/recherche de termes, et non par la méthode de requête liaison ; c'est donc son signal de charge en lecture."
},
{
+ "id": "property_total_series",
"title": "Total des séries Property",
"tip": "Total des documents de l'index inversé property pour ce group."
},
{
+ "id": "group_queue_throughput",
"title": "Débit de souscription",
"tip": "Messages de file côté souscription par seconde pour ce group, par opération."
},
{
+ "id": "group_queue_latency",
"title": "p99 de publication",
"tip": "Latence p99 de file côté publication pour ce group."
},
{
+ "id": "group_queue_batch_throughput",
"title": "Débit de lots",
"tip": "Débit de batches d’écriture par group, par opération."
},
{
+ "id": "group_queue_message_throughput",
"title": "Débit de messages",
"tip": "Débit par enregistrement par group, par opération."
},
{
+ "id": "group_publish_bytes",
"title": "Octets de part-sync / s"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.ja.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.ja.json
index 6b30bcc..d38c2b4 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.ja.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.ja.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "書き込みレート",
"tip": "measure + stream + trace の各データモデルを横断したクラスタ全体の毎秒書き込み数。"
},
{
+ "id": "cluster_query_kpi",
"title": "クエリレート",
"tip": "liaison フロントドアで観測されるクラスタ全体の毎秒 gRPC クエリ呼び出し数。"
},
{
+ "id": "cluster_error_kpi",
"title": "エラーレート",
"tip": "クラスタ全体の毎分エラー数 (gRPC + registry + stream-msg + publish + sync-loop)。データがない場合、健全なクラスタでは 0 として表示されます。"
},
{
+ "id": "cluster_cpu_kpi",
"title": "CPU コア数",
"tip": "クラスタ内コンテナ全体で確認できる CPU コアの合計。"
},
{
+ "id": "cluster_mem_kpi",
"title": "使用メモリ",
"tip": "クラスタ全体で使用されているメモリの合計。"
},
{
+ "id": "cluster_disk_kpi",
"title": "使用ディスク",
"tip": "クラスタの data パス全体で使用されているディスク上のバイト数の合計。"
},
{
+ "id": "cluster_throughput",
"title": "クラスタスループット",
"tip": "書き込みレートとクエリレートの時系列推移。",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "クラスタエラー / min"
},
{
+ "id": "containers_by_role",
"title": "ロール別コンテナ数",
- "tip": "システム稼働時間ゲージから算出した、ロール単位 (data / liaison) の稼働コンテナ数。lifecycle サイドカーはシステムコレクタを実行しないため、ここには表示されません。"
+ "tip": "システム稼働時間ゲージから算出した、ロール単位 (data / liaison) の稼働コンテナ数。lifecycle サイドカーはシステムコレクタを実行しないため、ここには表示されません。",
+ "tableHeaders": [
+ null,
+ "コンテナ"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "最終同期からの経過時間",
"tip": "最後の移行サイクルが開始してからの経過時間(例: \"5m 20s ago\")。最初の移行サイクルが実行されると表示されます。"
},
{
+ "id": "lifecycle_last_run_success",
"title": "前回の同期",
"valueMap": {
"0": "失敗",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "マイグレーションサイクル数",
"tip": "lifecycle サイドカーが実行した累積の tier マイグレーションサイクル数。"
},
{
+ "id": "cpu_usage",
"title": "CPU 使用率",
"tip": "プロセスの CPU 消費量 (コア単位)。"
},
{
+ "id": "rss_memory",
"title": "常駐メモリ"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "GC 一時停止 (平均)",
"tip": "サイクルあたりの平均 Go GC 一時停止時間。"
},
{
+ "id": "go_heap",
"title": "Go ヒープ",
"expressionLabels": [
"使用中",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Go アロケートレート"
},
{
+ "id": "node_uptime",
"title": "稼働時間",
"tip": "ノード起動からの経過日数。lifecycle サイドカーには表示されません (システムコレクタなし)。"
},
{
+ "id": "system_memory_percent",
"title": "システム使用メモリ"
},
{
+ "id": "disk_usage_percent",
"title": "ディスク使用率",
"tip": "ノードの data パス全体での 使用量 / 合計。"
},
{
+ "id": "disk_space",
"title": "ディスク 使用量 / 合計",
"tip": "各データパスの使用量と、ファイルシステムの総容量の対比。同一ファイルシステムを共有するパスは同じ値になります。",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "ネットワーク I/O",
"tip": "インターフェース単位の受信 / 送信スループット。",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "サービス別クエリレート",
"tip": "BanyanDB データモデルサービス (measure / stream / trace / property) で分割した gRPC クエリ呼び出し数/s。"
},
{
+ "id": "liaison_grpc_errors",
"title": "gRPC エラー / min",
"tip": "total + registry + stream-msg の gRPC エラーの合計。遅延登録のため、データがない場合は健全な liaison では 0 として表示されます。"
},
{
+ "id": "liaison_registry_ops",
"title": "Registry 操作 / s",
"tip": "liaison フロントドアで観測されるスキーマ registry 操作数/s。"
},
{
+ "id": "liaison_write_rate",
"title": "書き込みレート",
"tip": "liaison フロントドアで観測される、3 つのデータモデルを横断した書き込み数/s。"
},
{
+ "id": "liaison_publish_throughput",
"title": "Publish スループット",
"tip": "操作別に分解した Tier-2 publish パイプライン (liaison → data)。"
},
{
+ "id": "liaison_publish_latency",
"title": "Publish p99 レイテンシ",
"tip": "Tier-2 publish パイプラインの操作別 p99 送信レイテンシ。"
},
{
+ "id": "liaison_publish_bytes",
"title": "Part-sync バイト数"
},
{
+ "id": "liaison_wqueue",
"title": "書き込みキュー保留数",
"tip": "liaison 書き込みバッファの深さ: publish 前にフロントドアでバッファされたレコード数。"
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Publish バッチスループット",
"tip": "操作別の1秒あたりの発行 batch 数。クラスタが batch メトリクスを出すまで非表示です。"
},
{
+ "id": "liaison_publish_batch_latency",
"title": "Publish バッチ p99"
},
{
+ "id": "data_total",
"title": "格納データ要素数",
"tip": "measure + stream + trace 全体で格納された file 要素の合計。"
},
{
+ "id": "data_wqueue",
"title": "書き込みキュー (wqueue)",
"tip": "data ノードの書き込みキュー: 保留中レコード、ディスク上の file parts、メモリ上の parts。"
},
{
+ "id": "data_merge_rate",
"title": "マージループレート"
},
{
+ "id": "data_merge_latency",
"title": "マージ file レイテンシ",
"tip": "マージループあたりの平均ディスク上 file マージレイテンシ。"
},
{
+ "id": "data_merge_partitions",
"title": "マージ parts / ループ",
"tip": "ディスク上マージループあたりの平均マージ parts 数。"
},
{
+ "id": "data_index_rate",
"title": "転置インデックスレート",
"tip": "毎秒のシリーズインデックス更新と term 検索数 (measure + stream storage + stream tst)。",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "インデックスドキュメント数",
"tip": "転置インデックスドキュメントの合計 (series プロキシ)。",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Subscribe スループット",
"tip": "操作別の subscribe 側キュースループット (query / file-sync / batch-write / control)。"
},
{
+ "id": "data_subscribe_latency",
"title": "Subscribe p99 レイテンシ"
},
{
+ "id": "data_retention",
"title": "保持ディスク使用率",
"tip": "データモデル単位の保持ディスク使用率 (%)。",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Subscribe メッセージスループット",
"tip": "サブスクライバが batch から取り出すレコード単位の処理レート。"
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure 書き込み / s",
"tip": "この group の毎秒書き込み数 (データモデル単位の書き込みカウンタ)。"
},
{
+ "id": "measure_query_latency",
"title": "Measure クエリレイテンシ",
"tip": "この group の liaison クエリ平均レイテンシ。"
},
{
+ "id": "measure_total_data",
"title": "Measure 格納データ要素数",
"tip": "この group に現在格納されているデータ要素数。"
},
{
+ "id": "measure_merge_rate",
"title": "Measure マージレート",
"tip": "毎分の file マージループ実行回数。"
},
{
+ "id": "measure_merge_latency",
"title": "Measure マージレイテンシ",
"tip": "マージループあたりの平均 file マージレイテンシ。"
},
{
+ "id": "measure_merge_partitions",
"title": "Measure マージ parts",
"tip": "file マージループあたりの平均マージ parts 数。"
},
{
+ "id": "measure_series_write_rate",
"title": "Measure シリーズ書き込み / s",
"tip": "毎秒の転置インデックス更新数 (シリーズ書き込みの代理指標)。"
},
{
+ "id": "measure_term_search_rate",
"title": "Measure term 検索 / s",
"tip": "毎秒の転置インデックス term 検索呼び出し数 (インデックス読み込み負荷)。"
},
{
+ "id": "measure_total_series",
"title": "Measure シリーズ合計",
"tip": "この group の転置インデックスドキュメント総数 (シリーズの代理指標)。"
},
{
+ "id": "stream_write_rate",
"title": "Stream 書き込み / s",
"tip": "この group の毎秒書き込み数 (データモデル単位の書き込みカウンタ)。"
},
{
+ "id": "stream_query_latency",
"title": "Stream クエリレイテンシ",
"tip": "この group の liaison クエリ平均レイテンシ。"
},
{
+ "id": "stream_total_data",
"title": "Stream 格納データ要素数",
"tip": "この group に現在格納されているデータ要素数。"
},
{
+ "id": "stream_merge_rate",
"title": "Stream マージレート",
"tip": "毎分の file マージループ実行回数。"
},
{
+ "id": "stream_merge_latency",
"title": "Stream マージレイテンシ",
"tip": "マージループあたりの平均 file マージレイテンシ。"
},
{
+ "id": "stream_merge_partitions",
"title": "Stream マージ parts",
"tip": "file マージループあたりの平均マージ parts 数。"
},
{
+ "id": "stream_series_write_rate",
"title": "Stream シリーズ書き込み / s",
"tip": "毎秒の転置インデックス更新数 (シリーズ書き込みの代理指標)。"
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Stream TST インデックス書き込み / s",
"tip": "Stream の tst スコープにおける毎秒の転置インデックス更新数 (storage スコープのシリーズインデックスとは別)。"
},
{
+ "id": "stream_term_search_rate",
"title": "Stream term 検索 / s",
"tip": "毎秒の転置インデックス term 検索呼び出し数 (インデックス読み込み負荷)。"
},
{
+ "id": "stream_total_series",
"title": "Stream シリーズ合計",
"tip": "この group の転置インデックスドキュメント総数 (シリーズの代理指標)。"
},
{
+ "id": "stream_tst_total_series",
"title": "Stream TST シリーズ合計",
"tip": "Stream の tst スコープにおけるインデックスドキュメント総数 (storage スコープのシリーズインデックスとは別)。"
},
{
+ "id": "trace_write_rate",
"title": "Trace 書き込み / s",
"tip": "この group の毎秒書き込み数 (データモデル単位の書き込みカウンタ)。"
},
{
+ "id": "trace_query_latency",
"title": "Trace クエリレイテンシ",
"tip": "この group の liaison クエリ平均レイテンシ。"
},
{
+ "id": "trace_total_data",
"title": "Trace 格納データ要素数",
"tip": "この group に現在格納されているデータ要素数。"
},
{
+ "id": "trace_merge_rate",
"title": "Trace マージレート",
"tip": "毎分の file マージループ実行回数。"
},
{
+ "id": "trace_merge_latency",
"title": "Trace マージレイテンシ",
"tip": "マージループあたりの平均 file マージレイテンシ。"
},
{
+ "id": "trace_merge_partitions",
"title": "Trace マージ parts",
"tip": "file マージループあたりの平均マージ parts 数。"
},
{
+ "id": "trace_series_write_rate",
"title": "Trace シリーズ書き込み / s",
"tip": "毎秒の転置インデックス更新数 (シリーズ書き込みの代理指標)。"
},
{
+ "id": "trace_term_search_rate",
"title": "Trace term 検索 / s",
"tip": "毎秒の転置インデックス term 検索呼び出し数 (インデックス読み込み負荷)。"
},
{
+ "id": "trace_total_series",
"title": "Trace シリーズ合計",
"tip": "この group の転置インデックスドキュメント総数 (シリーズの代理指標)。"
},
{
+ "id": "property_index_write_rate",
"title": "Property インデックス書き込み / s",
"tip": "毎秒の property registry 転置インデックス更新数 (property の書き込みシグナル)。"
},
{
+ "id": "property_index_merge_rate",
"title": "Property インデックスマージレート",
"tip": "毎分の property 転置インデックスセグメントマージ回数 (property に tst マージループはありません)。"
},
{
+ "id": "property_index_merge_latency",
"title": "Property インデックスマージレイテンシ",
"tip": "property 転置インデックスの平均マージレイテンシ。"
},
{
+ "id": "property_term_search_rate",
"title": "Property term 検索 / s",
"tip": "毎秒の property term 検索呼び出し数。property は liaison のクエリメソッドではなく registry / term 検索パス経由で読み取られるため、これが読み込み負荷のシグナルになります。"
},
{
+ "id": "property_total_series",
"title": "Property シリーズ合計",
"tip": "この group の property 転置インデックスドキュメント総数。"
},
{
+ "id": "group_queue_throughput",
"title": "Subscribe スループット",
"tip": "操作別の、この group の毎秒 subscribe 側キューメッセージ数。"
},
{
+ "id": "group_queue_latency",
"title": "Publish p99",
"tip": "この group の publish 側キュー p99 レイテンシ。"
},
{
+ "id": "group_queue_batch_throughput",
"title": "バッチスループット",
"tip": "group ごとの書き込み batch レート(操作別)。"
},
{
+ "id": "group_queue_message_throughput",
"title": "メッセージスループット",
"tip": "group ごとのレコード単位レート(操作別)。"
},
{
+ "id": "group_publish_bytes",
"title": "Part-sync バイト数 / s"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.ko.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.ko.json
index 7b5d3bf..54dbc7d 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.ko.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.ko.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "쓰기 비율",
"tip": "measure + stream + trace 데이터 모델 전반에 걸친 클러스터 전체 초당 쓰기입니다."
},
{
+ "id": "cluster_query_kpi",
"title": "쿼리 비율",
"tip": "liaison 진입점에서 관측된 클러스터 전체 초당 gRPC 쿼리 호출입니다."
},
{
+ "id": "cluster_error_kpi",
"title": "오류 비율",
"tip": "클러스터 전체 분당 오류입니다 (gRPC + registry + stream-msg + publish + sync-loop). 데이터가 없으면 정상 클러스터에서는 0으로 표시됩니다."
},
{
+ "id": "cluster_cpu_kpi",
"title": "CPU 코어",
"tip": "클러스터의 컨테이너 전반에서 관측되는 전체 CPU 코어입니다."
},
{
+ "id": "cluster_mem_kpi",
"title": "사용 메모리",
"tip": "클러스터 전체에서 사용 중인 전체 메모리입니다."
},
{
+ "id": "cluster_disk_kpi",
"title": "사용 디스크",
"tip": "클러스터의 data 경로 전반에서 사용 중인 전체 디스크 바이트입니다."
},
{
+ "id": "cluster_throughput",
"title": "클러스터 처리량",
"tip": "시간에 따른 쓰기 비율과 쿼리 비율입니다.",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "클러스터 오류 / min"
},
{
+ "id": "containers_by_role",
"title": "역할별 컨테이너",
- "tip": "시스템 가동 시간 게이지에서 도출한 역할별 (data / liaison) 실시간 컨테이너 수입니다. lifecycle 사이드카는 시스템 컬렉터를 실행하지 않으므로 여기에 절대 표시되지 않습니다."
+ "tip": "시스템 가동 시간 게이지에서 도출한 역할별 (data / liaison) 실시간 컨테이너 수입니다. lifecycle 사이드카는 시스템 컬렉터를 실행하지 않으므로 여기에 절대 표시되지 않습니다.",
+ "tableHeaders": [
+ null,
+ "컨테이너"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "마지막 동기화 이후 경과 시간",
"tip": "마지막 마이그레이션 주기가 시작된 이후 경과 시간(예: \"5m 20s ago\"). 첫 마이그레이션 주기가 실행되면 표시됩니다."
},
{
+ "id": "lifecycle_last_run_success",
"title": "마지막 동기화",
"valueMap": {
"0": "실패",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "마이그레이션 사이클",
"tip": "lifecycle 사이드카가 실행한 누적 계층 마이그레이션 사이클입니다."
},
{
+ "id": "cpu_usage",
"title": "CPU 사용량",
"tip": "코어 단위의 프로세스 CPU 소비량입니다."
},
{
+ "id": "rss_memory",
"title": "상주 메모리"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "GC 일시 정지 (평균)",
"tip": "사이클당 평균 Go GC 일시 정지 시간입니다."
},
{
+ "id": "go_heap",
"title": "Go 힙",
"expressionLabels": [
"in-use",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Go 할당 비율"
},
{
+ "id": "node_uptime",
"title": "가동 시간",
"tip": "노드가 시작된 이후 경과 일수입니다. lifecycle 사이드카에서는 데이터가 없습니다 (시스템 컬렉터 없음)."
},
{
+ "id": "system_memory_percent",
"title": "시스템 사용 메모리"
},
{
+ "id": "disk_usage_percent",
"title": "디스크 사용량",
"tip": "노드의 data 경로 전반에서 사용량 / 전체입니다."
},
{
+ "id": "disk_space",
"title": "디스크 사용량 / 총량",
"tip": "각 데이터 경로의 사용량을 파일시스템 총 용량과 대비. 동일한 파일시스템을 공유하는 경로는 동일한 값을 보고합니다.",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "네트워크 I/O",
"tip": "인터페이스별 수신 / 전송 처리량입니다.",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "서비스별 쿼리 비율",
"tip": "BanyanDB 데이터 모델 서비스 (measure / stream / trace / property) 별로 분리한 초당 gRPC 쿼리 호출입니다."
},
{
+ "id": "liaison_grpc_errors",
"title": "gRPC 오류 / min",
"tip": "total + registry + stream-msg gRPC 오류의 합계입니다. 지연 등록 방식이므로 데이터가 없으면 정상 liaison에서는 0으로 표시됩니다."
},
{
+ "id": "liaison_registry_ops",
"title": "Registry 작업 / s",
"tip": "liaison 진입점에서 관측된 초당 스키마 registry 작업입니다."
},
{
+ "id": "liaison_write_rate",
"title": "쓰기 비율",
"tip": "세 가지 데이터 모델 전반에 걸쳐 liaison 진입점에서 관측된 초당 쓰기입니다."
},
{
+ "id": "liaison_publish_throughput",
"title": "Publish 처리량",
"tip": "작업별로 분리한 2계층 publish 파이프라인 (liaison → data) 입니다."
},
{
+ "id": "liaison_publish_latency",
"title": "Publish p99 지연 시간",
"tip": "작업별 2계층 publish 파이프라인의 p99 전송 지연 시간입니다."
},
{
+ "id": "liaison_publish_bytes",
"title": "Part-sync 바이트"
},
{
+ "id": "liaison_wqueue",
"title": "쓰기 큐 대기",
"tip": "liaison 쓰기 버퍼 깊이: publish 전 진입점에서 버퍼링된 레코드입니다."
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Publish 배치 처리량",
"tip": "작업별 초당 발행 batch 수. 클러스터가 batch 메트릭을 보낼 때까지 숨겨집니다."
},
{
+ "id": "liaison_publish_batch_latency",
"title": "Publish 배치 p99"
},
{
+ "id": "data_total",
"title": "저장된 데이터 요소",
"tip": "measure + stream + trace 전반에 저장된 전체 file 요소입니다."
},
{
+ "id": "data_wqueue",
"title": "쓰기 큐 (wqueue)",
"tip": "data 노드 쓰기 큐: 대기 중인 레코드, 온디스크 file parts, 인메모리 parts입니다."
},
{
+ "id": "data_merge_rate",
"title": "Merge 루프 비율"
},
{
+ "id": "data_merge_latency",
"title": "Merge 파일 지연 시간",
"tip": "merge 루프당 평균 온디스크 파일 병합 지연 시간입니다."
},
{
+ "id": "data_merge_partitions",
"title": "Merge Parts / Loop",
"tip": "온디스크 merge 루프당 평균 병합된 parts입니다."
},
{
+ "id": "data_index_rate",
"title": "역색인 비율",
"tip": "초당 시리즈 인덱스 갱신 및 term 검색입니다 (measure + stream storage + stream tst).",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "인덱스 문서",
"tip": "전체 역색인 문서입니다 (series proxy).",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Subscribe 처리량",
"tip": "작업별 (query / file-sync / batch-write / control) subscribe 측 큐 처리량입니다."
},
{
+ "id": "data_subscribe_latency",
"title": "Subscribe p99 지연 시간"
},
{
+ "id": "data_retention",
"title": "Retention 디스크 사용량",
"tip": "데이터 모델별 retention 디스크 사용률입니다.",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Subscribe 메시지 처리량",
"tip": "구독자가 batch에서 풀어내는 레코드 단위 처리 속도."
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure 쓰기 / s",
"tip": "이 그룹의 초당 쓰기입니다 (데이터 모델별 쓰기 카운터 기준)."
},
{
+ "id": "measure_query_latency",
"title": "Measure 쿼리 지연 시간",
"tip": "이 그룹의 평균 liaison 쿼리 지연 시간입니다."
},
{
+ "id": "measure_total_data",
"title": "Measure 전체 데이터",
"tip": "이 그룹에 현재 저장된 데이터 요소입니다."
},
{
+ "id": "measure_merge_rate",
"title": "Measure Merge 비율",
"tip": "분당 file merge 루프 반복 횟수입니다."
},
{
+ "id": "measure_merge_latency",
"title": "Measure Merge 지연 시간",
"tip": "merge 루프당 평균 파일 병합 지연 시간입니다."
},
{
+ "id": "measure_merge_partitions",
"title": "Measure Merge Partitions",
"tip": "file merge 루프당 평균 병합된 parts입니다."
},
{
+ "id": "measure_series_write_rate",
"title": "Measure Series 쓰기 / s",
"tip": "초당 역색인 갱신입니다 (series-write 대리 지표)."
},
{
+ "id": "measure_term_search_rate",
"title": "Measure Term Search / s",
"tip": "초당 역색인 term 검색 호출입니다 (인덱스 읽기 부하)."
},
{
+ "id": "measure_total_series",
"title": "Measure 전체 Series",
"tip": "이 그룹의 전체 역색인 문서입니다 (series 대리 지표)."
},
{
+ "id": "stream_write_rate",
"title": "Stream 쓰기 / s",
"tip": "이 그룹의 초당 쓰기입니다 (데이터 모델별 쓰기 카운터 기준)."
},
{
+ "id": "stream_query_latency",
"title": "Stream 쿼리 지연 시간",
"tip": "이 그룹의 평균 liaison 쿼리 지연 시간입니다."
},
{
+ "id": "stream_total_data",
"title": "Stream 전체 데이터",
"tip": "이 그룹에 현재 저장된 데이터 요소입니다."
},
{
+ "id": "stream_merge_rate",
"title": "Stream Merge 비율",
"tip": "분당 file merge 루프 반복 횟수입니다."
},
{
+ "id": "stream_merge_latency",
"title": "Stream Merge 지연 시간",
"tip": "merge 루프당 평균 파일 병합 지연 시간입니다."
},
{
+ "id": "stream_merge_partitions",
"title": "Stream Merge Partitions",
"tip": "file merge 루프당 평균 병합된 parts입니다."
},
{
+ "id": "stream_series_write_rate",
"title": "Stream Series 쓰기 / s",
"tip": "초당 역색인 갱신입니다 (series-write 대리 지표)."
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Stream TST 인덱스 쓰기 / s",
"tip": "초당 stream tst 스코프 역색인 갱신입니다 (storage 스코프 series 인덱스와 별개)."
},
{
+ "id": "stream_term_search_rate",
"title": "Stream Term Search / s",
"tip": "초당 역색인 term 검색 호출입니다 (인덱스 읽기 부하)."
},
{
+ "id": "stream_total_series",
"title": "Stream 전체 Series",
"tip": "이 그룹의 전체 역색인 문서입니다 (series 대리 지표)."
},
{
+ "id": "stream_tst_total_series",
"title": "Stream TST 전체 Series",
"tip": "stream tst 스코프 인덱스 문서 총계입니다 (storage 스코프 series 인덱스와 별개)."
},
{
+ "id": "trace_write_rate",
"title": "Trace 쓰기 / s",
"tip": "이 그룹의 초당 쓰기입니다 (데이터 모델별 쓰기 카운터 기준)."
},
{
+ "id": "trace_query_latency",
"title": "Trace 쿼리 지연 시간",
"tip": "이 그룹의 평균 liaison 쿼리 지연 시간입니다."
},
{
+ "id": "trace_total_data",
"title": "Trace 전체 데이터",
"tip": "이 그룹에 현재 저장된 데이터 요소입니다."
},
{
+ "id": "trace_merge_rate",
"title": "Trace Merge 비율",
"tip": "분당 file merge 루프 반복 횟수입니다."
},
{
+ "id": "trace_merge_latency",
"title": "Trace Merge 지연 시간",
"tip": "merge 루프당 평균 파일 병합 지연 시간입니다."
},
{
+ "id": "trace_merge_partitions",
"title": "Trace Merge Partitions",
"tip": "file merge 루프당 평균 병합된 parts입니다."
},
{
+ "id": "trace_series_write_rate",
"title": "Trace Series 쓰기 / s",
"tip": "초당 역색인 갱신입니다 (series-write 대리 지표)."
},
{
+ "id": "trace_term_search_rate",
"title": "Trace Term Search / s",
"tip": "초당 역색인 term 검색 호출입니다 (인덱스 읽기 부하)."
},
{
+ "id": "trace_total_series",
"title": "Trace 전체 Series",
"tip": "이 그룹의 전체 역색인 문서입니다 (series 대리 지표)."
},
{
+ "id": "property_index_write_rate",
"title": "Property 인덱스 쓰기 / s",
"tip": "초당 property registry 역색인 갱신입니다 (property의 쓰기 신호)."
},
{
+ "id": "property_index_merge_rate",
"title": "Property 인덱스 Merge 비율",
"tip": "분당 property 역색인 세그먼트 병합입니다 (property에는 tst merge 루프가 없습니다)."
},
{
+ "id": "property_index_merge_latency",
"title": "Property 인덱스 Merge 지연 시간",
"tip": "평균 property 역색인 병합 지연 시간입니다."
},
{
+ "id": "property_term_search_rate",
"title": "Property Term Search / s",
"tip": "초당 property term 검색 호출입니다. property는 liaison 쿼리 메서드가 아니라 registry/term-search 경로로 읽으므로 이것이 property의 읽기 부하 신호입니다."
},
{
+ "id": "property_total_series",
"title": "Property 전체 Series",
"tip": "이 그룹의 전체 property 역색인 문서입니다."
},
{
+ "id": "group_queue_throughput",
"title": "Subscribe 처리량",
"tip": "작업별로 분리한 이 그룹의 초당 subscribe 측 큐 메시지입니다."
},
{
+ "id": "group_queue_latency",
"title": "Publish p99",
"tip": "이 그룹의 publish 측 큐 p99 지연 시간입니다."
},
{
+ "id": "group_queue_batch_throughput",
"title": "배치 처리량",
"tip": "group별 쓰기 batch 속도(작업별)."
},
{
+ "id": "group_queue_message_throughput",
"title": "메시지 처리량",
"tip": "group별 레코드 단위 속도(작업별)."
},
{
+ "id": "group_publish_bytes",
"title": "Part-sync 바이트 / s"
}
]
diff --git a/apps/bff/src/bundled_templates/layers/banyandb.i18n.pt.json b/apps/bff/src/bundled_templates/layers/banyandb.i18n.pt.json
index 32b2b77..6790f42 100644
--- a/apps/bff/src/bundled_templates/layers/banyandb.i18n.pt.json
+++ b/apps/bff/src/bundled_templates/layers/banyandb.i18n.pt.json
@@ -23,30 +23,37 @@
"dashboards": {
"service": [
{
+ "id": "cluster_write_kpi",
"title": "Taxa de escrita",
"tip": "Escritas por segundo em todo o cluster, somando os modelos de dados measure + stream + trace."
},
{
+ "id": "cluster_query_kpi",
"title": "Taxa de query",
"tip": "Chamadas de query gRPC por segundo em todo o cluster, observadas na porta de entrada do liaison."
},
{
+ "id": "cluster_error_kpi",
"title": "Taxa de erro",
"tip": "Erros por minuto em todo o cluster (gRPC + registry + stream-msg + publish + sync-loop). Quando ausente, é renderizado como 0 em um cluster saudável."
},
{
+ "id": "cluster_cpu_kpi",
"title": "Núcleos de CPU",
"tip": "Total de núcleos de CPU visíveis nos contêineres do cluster."
},
{
+ "id": "cluster_mem_kpi",
"title": "Memória usada",
"tip": "Total de memória usada em todo o cluster."
},
{
+ "id": "cluster_disk_kpi",
"title": "Disco usado",
"tip": "Total de bytes usados em disco nos caminhos de dados do cluster."
},
{
+ "id": "cluster_throughput",
"title": "Throughput do cluster",
"tip": "Taxa de escrita vs query ao longo do tempo.",
"expressionLabels": [
@@ -55,19 +62,27 @@
]
},
{
+ "id": "cluster_errors",
"title": "Erros do cluster / min"
},
{
+ "id": "containers_by_role",
"title": "Contêineres por papel",
- "tip": "Contagem de contêineres ativos por papel (data / liaison), derivada do gauge de uptime do sistema. O sidecar lifecycle não executa coletor de sistema, então nunca aparece aqui."
+ "tip": "Contagem de contêineres ativos por papel (data / liaison), derivada do gauge de uptime do sistema. O sidecar lifecycle não executa coletor de sistema, então nunca aparece aqui.",
+ "tableHeaders": [
+ null,
+ "Contêineres"
+ ]
}
],
"instance": [
{
+ "id": "lifecycle_last_run",
"title": "Tempo desde a última sincronização",
"tip": "Tempo desde que o último ciclo de migração começou, p. ex. \"5m 20s ago\". Aparece após o primeiro ciclo de migração ser executado."
},
{
+ "id": "lifecycle_last_run_success",
"title": "Última sincronização",
"valueMap": {
"0": "Falhou",
@@ -75,24 +90,30 @@
}
},
{
+ "id": "lifecycle_cycles",
"title": "Ciclos de migração",
"tip": "Ciclos cumulativos de migração entre camadas executados pelo sidecar lifecycle."
},
{
+ "id": "cpu_usage",
"title": "Uso de CPU",
"tip": "Consumo de CPU do processo em núcleos."
},
{
+ "id": "rss_memory",
"title": "Memória residente"
},
{
+ "id": "goroutines",
"title": "Goroutines"
},
{
+ "id": "gc_pause",
"title": "Pausa de GC (média)",
"tip": "Pausa média do GC do Go por ciclo."
},
{
+ "id": "go_heap",
"title": "Heap do Go",
"expressionLabels": [
"em uso",
@@ -100,20 +121,25 @@
]
},
{
+ "id": "go_alloc_rate",
"title": "Taxa de alocação do Go"
},
{
+ "id": "node_uptime",
"title": "Uptime",
"tip": "Dias desde que o nó iniciou. Ausente no sidecar lifecycle (sem coletor de sistema)."
},
{
+ "id": "system_memory_percent",
"title": "Memória do sistema usada"
},
{
+ "id": "disk_usage_percent",
"title": "Uso de disco",
"tip": "Usado / total nos caminhos de dados do nó."
},
{
+ "id": "disk_space",
"title": "Disco usado / total",
"tip": "Uso por caminho de dados, frente à capacidade total do sistema de arquivos. Caminhos que compartilham um sistema de arquivos mostram valores idênticos.",
"expressionLabels": [
@@ -122,6 +148,7 @@
]
},
{
+ "id": "network_io",
"title": "I/O de rede",
"tip": "Throughput de recepção / envio por interface.",
"expressionLabels": [
@@ -130,63 +157,79 @@
]
},
{
+ "id": "liaison_query_rate",
"title": "Taxa de query por serviço",
"tip": "Chamadas de query gRPC/s separadas por serviço do modelo de dados do BanyanDB (measure / stream / trace / property)."
},
{
+ "id": "liaison_grpc_errors",
"title": "Erros gRPC / min",
"tip": "Soma dos erros gRPC total + registry + stream-msg. Registrado de forma preguiçosa — quando ausente, é renderizado como 0 em um liaison saudável."
},
{
+ "id": "liaison_registry_ops",
"title": "Ops de registry / s",
"tip": "Operações do schema-registry/s observadas na porta de entrada do liaison."
},
{
+ "id": "liaison_write_rate",
"title": "Taxa de escrita",
"tip": "Escritas/s observadas na porta de entrada do liaison nos três modelos de dados."
},
{
+ "id": "liaison_publish_throughput",
"title": "Throughput de publish",
"tip": "Pipeline de publish da camada 2 (liaison → data), detalhado por operação."
},
{
+ "id": "liaison_publish_latency",
"title": "Latência p99 de publish",
"tip": "Latência de envio p99 do pipeline de publish da camada 2, por operação."
},
{
+ "id": "liaison_publish_bytes",
"title": "Bytes de part-sync"
},
{
+ "id": "liaison_wqueue",
"title": "Fila de escrita pendente",
"tip": "Profundidade do buffer de escrita do liaison: registros em buffer na porta de entrada antes do publish."
},
{
+ "id": "liaison_publish_batch_throughput",
"title": "Throughput de lotes de publish",
"tip": "Batches publicados/s por operação. Oculto até o cluster emitir métricas de batch."
},
{
+ "id": "liaison_publish_batch_latency",
"title": "p99 de lotes de publish"
},
{
+ "id": "data_total",
"title": "Elementos de dados armazenados",
"tip": "Total de elementos de arquivo armazenados em measure + stream + trace."
},
{
+ "id": "data_wqueue",
"title": "Fila de escrita (wqueue)",
"tip": "Fila de escrita do nó data: registros pendentes, parts de arquivo em disco, parts em memória."
},
{
+ "id": "data_merge_rate",
"title": "Taxa de merge loop"
},
{
+ "id": "data_merge_latency",
"title": "Latência de merge de arquivo",
"tip": "Latência média de merge de arquivos em disco por merge loop."
},
{
+ "id": "data_merge_partitions",
"title": "Parts mescladas / loop",
"tip": "Média de parts mescladas por merge loop em disco."
},
{
+ "id": "data_index_rate",
"title": "Taxa de índice invertido",
"tip": "Atualizações do índice de séries e buscas de termos por segundo (measure + stream storage + stream tst).",
"expressionLabels": [
@@ -197,6 +240,7 @@
]
},
{
+ "id": "data_index_docs",
"title": "Documentos de índice",
"tip": "Total de documentos do índice invertido (proxy de séries).",
"expressionLabels": [
@@ -205,13 +249,16 @@
]
},
{
+ "id": "data_subscribe_throughput",
"title": "Throughput de subscribe",
"tip": "Throughput da fila do lado subscribe por operação (query / file-sync / batch-write / control)."
},
{
+ "id": "data_subscribe_latency",
"title": "Latência p99 de subscribe"
},
{
+ "id": "data_retention",
"title": "Uso de disco de retenção",
"tip": "Percentual de uso de disco de retenção por modelo de dados.",
"expressionLabels": [
@@ -221,164 +268,204 @@
]
},
{
+ "id": "data_subscribe_message_throughput",
"title": "Throughput de mensagens de subscribe",
"tip": "Taxa de processamento por registro que o assinante extrai dos batches."
}
],
"endpoint": [
{
+ "id": "measure_write_rate",
"title": "Measure Escritas / s",
"tip": "Escritas por segundo neste group (contador de escrita por modelo de dados)."
},
{
+ "id": "measure_query_latency",
"title": "Latência de query do Measure",
"tip": "Latência média de query do liaison para este group."
},
{
+ "id": "measure_total_data",
"title": "Total de dados do Measure",
"tip": "Elementos de dados armazenados atualmente neste group."
},
{
+ "id": "measure_merge_rate",
"title": "Taxa de merge do Measure",
"tip": "Iterações do merge loop de arquivos por minuto."
},
{
+ "id": "measure_merge_latency",
"title": "Latência de merge do Measure",
"tip": "Latência média de merge de arquivo por merge loop."
},
{
+ "id": "measure_merge_partitions",
"title": "Partições de merge do Measure",
"tip": "Média de parts mescladas por merge loop de arquivo."
},
{
+ "id": "measure_series_write_rate",
"title": "Escritas de séries do Measure / s",
"tip": "Atualizações do índice invertido por segundo (proxy de escrita de séries)."
},
{
+ "id": "measure_term_search_rate",
"title": "Term Search do Measure / s",
"tip": "Invocações de busca de termos no índice invertido por segundo (pressão de leitura do índice)."
},
{
+ "id": "measure_total_series",
"title": "Total de séries do Measure",
"tip": "Total de documentos do índice invertido (proxy de séries) para este group."
},
{
+ "id": "stream_write_rate",
"title": "Stream Escritas / s",
"tip": "Escritas por segundo neste group (contador de escrita por modelo de dados)."
},
{
+ "id": "stream_query_latency",
"title": "Latência de query do Stream",
"tip": "Latência média de query do liaison para este group."
},
{
+ "id": "stream_total_data",
"title": "Total de dados do Stream",
"tip": "Elementos de dados armazenados atualmente neste group."
},
{
+ "id": "stream_merge_rate",
"title": "Taxa de merge do Stream",
"tip": "Iterações do merge loop de arquivos por minuto."
},
{
+ "id": "stream_merge_latency",
"title": "Latência de merge do Stream",
"tip": "Latência média de merge de arquivo por merge loop."
},
{
+ "id": "stream_merge_partitions",
"title": "Partições de merge do Stream",
"tip": "Média de parts mescladas por merge loop de arquivo."
},
{
+ "id": "stream_series_write_rate",
"title": "Escritas de séries do Stream / s",
"tip": "Atualizações do índice invertido por segundo (proxy de escrita de séries)."
},
{
+ "id": "stream_tst_index_write_rate",
"title": "Escritas do índice TST do Stream / s",
"tip": "Atualizações por segundo do índice invertido no escopo tst do stream (distinto do índice de séries no escopo de armazenamento)."
},
{
+ "id": "stream_term_search_rate",
"title": "Term Search do Stream / s",
"tip": "Invocações de busca de termos no índice invertido por segundo (pressão de leitura do índice)."
},
{
+ "id": "stream_total_series",
"title": "Total de séries do Stream",
"tip": "Total de documentos do índice invertido (proxy de séries) para este group."
},
{
+ "id": "stream_tst_total_series",
"title": "Total de séries TST do Stream",
"tip": "Total de documentos do índice no escopo tst do stream (distinto do índice de séries no escopo de armazenamento)."
},
{
+ "id": "trace_write_rate",
"title": "Trace Escritas / s",
"tip": "Escritas por segundo neste group (contador de escrita por modelo de dados)."
},
{
+ "id": "trace_query_latency",
"title": "Latência de query do Trace",
"tip": "Latência média de query do liaison para este group."
},
{
+ "id": "trace_total_data",
"title": "Total de dados do Trace",
"tip": "Elementos de dados armazenados atualmente neste group."
},
{
+ "id": "trace_merge_rate",
"title": "Taxa de merge do Trace",
"tip": "Iterações do merge loop de arquivos por minuto."
},
{
+ "id": "trace_merge_latency",
"title": "Latência de merge do Trace",
"tip": "Latência média de merge de arquivo por merge loop."
},
{
+ "id": "trace_merge_partitions",
"title": "Partições de merge do Trace",
"tip": "Média de parts mescladas por merge loop de arquivo."
},
{
+ "id": "trace_series_write_rate",
"title": "Escritas de séries do Trace / s",
"tip": "Atualizações do índice invertido por segundo (proxy de escrita de séries)."
},
{
+ "id": "trace_term_search_rate",
"title": "Term Search do Trace / s",
"tip": "Invocações de busca de termos no índice invertido por segundo (pressão de leitura do índice)."
},
{
+ "id": "trace_total_series",
"title": "Total de séries do Trace",
"tip": "Total de documentos do índice invertido (proxy de séries) para este group."
},
... 41368 lines suppressed ...