dt-migration
Dynatrace のクラシックおよび Gen2 エンティティベースの DQL を Smartscape 相当の構文へ移行します。対象は3つのシナリオ:(1) クラシックエンティティ条件でフィルタリングされた大量データクエリ、(2) エンティティサブクエリを使ったフィルタリング、(3) `fetch dt.entity.*` を `smartscapeNodes` へ移行する純粋なエンティティリストクエリで、いずれもディメンションフィルタを優先し Smartscape をフォールバックとして扱います。`entityName`・`entityAttr`・`classicEntitySelector` やクラシックなリレーションシップパターンにも対応しています。
description の原文を見る
Migrate Dynatrace classic and Gen2 entity-based DQL to Smartscape equivalents. Covers three scenarios. (1) mass data queries filtered by classic entity conditions — migrate to direct dimension filters first, Smartscape only as fallback; (2) mass data queries using entity subqueries for filtering — same dimension-first strategy; (3) pure entity list queries — migrate fetch dt.entity.* to smartscapeNodes. Also handles entityName, entityAttr, classicEntitySelector, and classic relationship patterns.
SKILL.md 本文
Smartscape Migration スキル
このスキルは、Dynatrace クラシック型および Gen2 エンティティベースの DQL クエリとクエリパターンを Smartscape ベースの同等物に移行します。
最終的な DQL を作成する前に dt-dql-essentials スキルを読み込んでください。そうすることで、翻訳されたクエリが現在の DQL 構文ルールにも従うようになります。
このスキルは Smartscape 指向の DQL 移行のみに焦点を当てています。アセットレベルの移行ワークフローは扱いません。
クエリ目的の分類
ここから開始してください。 正しい移行戦略は、クラシック型の構文がどれであるかではなく、クエリが実際に何をしようとしているかによって異なります。
3 つの異なる状況があります:
| # | 状況 | クラシック型のアンチパターン | 移行戦略 |
|---|---|---|---|
| 1 | エンティティ条件でフィルタリングされたマスデータクエリ | タイムシリーズ、ログ、またはメトリクスクエリの filter: 内に classicEntitySelector(...) をインラインで指定 | エンティティ条件を生データディメンションに最初に解決します。Smartscape はフォールバックであり、デフォルトではありません。 |
| 2 | エンティティサブクエリを使用したマスデータクエリのフィルタリング | 外側のマスデータクエリをフィルタリングするために in [...]、lookup [...]、join [...] 内で fetch dt.entity.* を使用 | 同じディメンションファースト戦略を使用します。生データディメンションフィルタまたは in [smartscapeNodes ...] サブクエリとして書き直します。 |
| 3 | 純粋なエンティティリストクエリ | fetch dt.entity.* をスタンドアロンで、または主要な結果ソースとして使用 | smartscapeNodes が唯一の有効なパスです。生データディメンションの代替手段は存在しません。 |
判断:
- 状況 1 または 2 —
references/mass-data-filtering-strategy.mdを読み込み、フィールド発見 (ステップ 2) と同等性検証 (ステップ 4) を含む すべてのステップ を完了してください。fieldsSnapshotゲートをスキップしないでください。これらがどのアプローチが実行可能かを判定します。エンティティ型マッピングまたはリレーションシップトラバーサルが Smartscape サブクエリを完成させるために必要な場合にのみ、以下の移行ワークフローにフォールバックしてください。 - 状況 3 — 移行ワークフロー以下とエンティティマッピングテーブルを進めてください。
注:状況 3 には、
fetch dt.entity.*によって返されるエンティティをフィルタリングするためにclassicEntitySelectorが使用されるサブケースがあります。これはレアケースであり、同じsmartscapeNodesパスに従います。セレクタ条件をreferences/mass-data-filtering-strategy.mdのステップ 1B を使用して解決してから、smartscapeNodes内のノードフィルタとして適用します。
移行ワークフロー
状況 3 (純粋なエンティティリストクエリ) および状況 1 と 2 で Smartscape サブクエリを構築する場合、この順序に従ってください:
- クラシック型の入力パターンを特定します:
fetch dt.entity.*classicEntitySelector(...)belongs_to[...]、runs[...]、instance_of[...]などのリレーションシップフィールドアクセスdt.entity.*を使用するシグナルまたはイベントクエリ
- 関連するクラシック型エンティティタイプを特定します。
- 以下のコアエンティティマッピングテーブルで Smartscape の置換を検索します。
- どのクラシック型 DQL コンストラクトを明示的に移行する必要があるかを確認します。
- Smartscape プリミティブを使用してクエリを書き直します:
smartscapeNodessmartscapeEdgestraversereferencesgetNodeName()getNodeField()
- 特殊なケース、サポートされていないエンティティ、または ID の仮定を確認します。
- 特定のエンティティファミリーまたは移行パターンの詳細な参照を読み込みます。
完全な移行プロセスと出力期待については、references/migration-workflow.md を読み込んでください。
コアエンティティマッピングテーブル
一般的な移行にはこのコンパクトテーブルを最初に使用してください。完全なマッピングセットについては、references/type-mappings.md を読み込んでください。
| クラシック型 / Gen2 エンティティ | Smartscape フィールド | Smartscape ノードタイプ | 注記 |
|---|---|---|---|
dt.entity.host | dt.smartscape.host | HOST | 標準ホストマッピング |
dt.entity.service | dt.smartscape.service | SERVICE | 標準サービスマッピング |
dt.entity.process_group_instance | dt.smartscape.process | PROCESS | プロセスインスタンスは直接マッピング |
dt.entity.container_group_instance | dt.smartscape.container | CONTAINER | コンテナグループインスタンスは直接マッピング |
dt.entity.kubernetes_cluster | dt.smartscape.k8s_cluster | K8S_CLUSTER | Kubernetes クラスタ |
dt.entity.kubernetes_node | dt.smartscape.k8s_node | K8S_NODE | Kubernetes ノード |
dt.entity.kubernetes_service | dt.smartscape.k8s_service | K8S_SERVICE | Kubernetes サービス |
dt.entity.cloud_application | 複数のワークロードフィールド | 複数の K8S ワークロードノードタイプ | 複数のワークロードタイプにマップされます。クラウドアプリケーションガイドを読み込んでください |
dt.entity.cloud_application_instance | dt.smartscape.k8s_pod | K8S_POD | クラシック型クラウドアプリケーションインスタンスはポッドになります |
dt.entity.cloud_application_namespace | dt.smartscape.k8s_namespace | K8S_NAMESPACE | ネームスペースマッピング |
dt.entity.application | dt.smartscape.frontend | FRONTEND | フロントエンドアプリケーションマッピング |
dt.entity.aws_lambda_function | dt.smartscape.aws.lambda_function | AWS_LAMBDA_FUNCTION | クラウド関数エンティティマッピング |
移行中に検査する DQL コンストラクト
これらのクラシック型コンストラクトは通常、明示的な書き直しが必要です:
| クラシック型コンストラクト | 典型的な Smartscape 置換 | 注記 |
|---|---|---|
entityName(x) | name または getNodeName(x) | ノードを直接クエリする場合は name を優先します |
entityAttr(x, "...") | 直接ノードフィールドまたは getNodeField(x, "...") | 利用可能な場合は直接フィールドを優先します |
classicEntitySelector(...) | ノードフィルタプラス traverse | 制約のある側から開始します。マスデータクエリについては最初に mass-data-filtering-strategy.md を参照してください |
シグナルクエリ内の dt.entity.* | dt.smartscape.* | by、filter、fieldsAdd、expand など関連するクローズに適用されます |
belongs_to[...]、runs[...]、instance_of[...] | traverse または references[...] | references は静的エッジでのみ機能します |
| クラシック型エンティティ ID フィルタ | Smartscape id | クラシック ID をむやみに再利用しないでください |
affected_entity_ids および affected_entity_types | smartscape.affected_entity.ids および smartscape.affected_entity.types | Smartscape イベントフィールドを使用します |
詳細な関数ごとのガイドについては、references/dql-function-migration.md を読み込んでください。
特殊なケース
これらのパターンを文字通りに変換しないでください:
- ホストグループ — スタンドアロンの Smartscape エンティティはありません。
HOSTのフィールドを使用してください - プロセスグループ — スタンドアロンの Smartscape エンティティはありません。
PROCESSのフィールドを使用してください - コンテナグループ — スタンドアロンの Smartscape エンティティはありません。必要に応じてプレースホルダーで出力形状を保持してください
- クラシック型 ID — クラシック型エンティティ ID は自動的に Smartscape に引き継がれません
- 計画済み、欠落、または計画されていないマッピング — 直接サポートを仮定する前に完全なマッピングテーブルを確認してください
これらのパターンを移行する前に references/special-cases.md を読み込んでください。
エンティティ別ガイド
移行が特定のエンティティファミリーに焦点を当てている場合、対応する詳細ガイドを読み込んでください:
references/entity-host.mdreferences/entity-service.mdreferences/entity-process.mdreferences/entity-container.mdreferences/entity-kubernetes.mdreferences/entity-cloud-application.md
各ガイドは以下を説明しています:
- クラシック型エンティティが何を表していたか
- Smartscape の置換は何か
- 通常どのフィールドが変わるか
- リレーションシップをどのように移行するか
- 一般的な例とピットフォール
参照
references/README.md— 参照インデックスと読み取りガイドreferences/mass-data-filtering-strategy.md— 状況 1 と 2 についてここから開始してください。 必須ステップ:条件を解決、fieldsSnapshot 発見を実行、アプローチを選択、クエリを作成、同等性を検証references/auto-tagging-field-mapping.md— オートタギングルール条件キーをセマンティック辞書フィールド (マスデータおよび Smartscape ノード属性) にマップしますreferences/entity-selector-predicates.md—classicEntitySelector式の完全な述語語彙references/migration-workflow.md— エンドツーエンドの移行プロセスと出力期待references/type-mappings.md— クラシック型から Smartscape へのタイプおよびフィールドマッピング完全版references/dql-function-migration.md— クラシック型 DQL 関数とパターンを移行する方法references/relationship-mappings.md— 有効な Smartscape エッジとトラバーサルガイダンスreferences/special-cases.md— 非文字通りおよびサポートされていないエンティティ移行references/quick-reference.md— コンパクトなルールと注意点references/examples.md— 移行前後の例
ライセンス: Apache-2.0(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- dynatrace
- ライセンス
- Apache-2.0
- 最終更新
- 不明
Source: https://github.com/dynatrace/dynatrace-for-ai / ライセンス: Apache-2.0
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。