

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengambil metrik dengan Performance API Insights untuk Amazon RDS
<a name="USER_PerfInsights.API"></a>

Saat Performance Insights diaktifkan, maka akan API memberikan visibilitas ke performa instans. Amazon CloudWatch Logs menyediakan sumber otoritatif untuk metrik pemantauan terjual untuk layanan. AWS 

Performance Insights menawarkan tampilan khusus domain dari beban database yang diukur sebagai sesi aktif rata-rata (). AAS Metrik ini muncul bagi API konsumen sebagai kumpulan data deret waktu dua dimensi. Dimensi waktu data menyediakan data muatan DB untuk setiap titik waktu dalam rentang waktu yang dikueri. Setiap titik waktu menguraikan keseluruhan muatan dalam hubungannya dengan dimensi yang diminta, seperti `SQL`, `Wait-event`, `User`, atau `Host`, yang diukur pada titik waktu tersebut.

Amazon RDS Performance Insights memantau instans Amazon RDS DB cluster sehingga Anda dapat menganalisis dan memecahkan masalah kinerja database. Salah satu cara untuk menampilkan data Wawasan Performa dapat ditemukan di Konsol Manajemen AWS. Performance Insights juga menyediakan publik API sehingga Anda dapat melakukan kueri data Anda sendiri. Anda dapat menggunakan API untuk melakukan hal berikut:
+ Membongkar data ke dalam basis data
+ Menambahkan data Wawasan Performa ke dasbor pemantauan yang ada
+ Merancang alat pemantauan

Untuk menggunakan Performance InsightsAPI, aktifkan Performance Insights di salah satu instans Amazon RDS DB Anda. Untuk informasi tentang cara mengaktifkan Wawasan Performa, lihat [Mengaktifkan dan menonaktifkan Performance Insights untuk Amazon RDS](USER_PerfInsights.Enabling.md). Untuk informasi selengkapnya tentang Performance InsightsAPI, lihat Referensi [Performance RDS API Insights Amazon](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html).

Performance Insights API menyediakan operasi berikut.


****  

|  Tindakan Wawasan Performa  |  AWS CLI perintah  |  Deskripsi  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_CreatePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/CreatePerformanceAnalysisReport.html)  |  Membuat laporan analisis performa selama periode waktu tertentu untuk instans DB. Hasilnya adalah `AnalysisReportId`, yakni ID unik laporan.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DeletePerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/DeletePerformanceAnalysisReport.html)  |  Menghapus laporan analisis performa.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html](https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html)  |  Mengambil kunci dimensi N teratas untuk metrik selama periode waktu tertentu.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html)  |  Mengambil atribut dari grup dimensi tertentu untuk instans DB atau sumber data. Misalnya, jika Anda menentukan SQL ID, dan jika detail dimensi tersedia, `GetDimensionKeyDetails` mengambil teks lengkap dari dimensi yang `db.sql.statement` terkait dengan ID ini. Operasi ini berguna karena `GetResourceMetrics` dan `DescribeDimensionKeys` tidak mendukung pengambilan teks SQL pernyataan besar.   | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetPerformanceAnalysisReport.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html](https://docs.aws.amazon.com/cli/latest/reference/pi/GetPerformanceAnalysisReport.html)  |  Mengambil laporan yang mencakup wawasan untuk laporan. Hasilnya mencakup status laporan, ID laporan, detail waktu laporan, wawasan, dan rekomendasi.  | 
| [GetResourceMetadata](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetadata.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html)  |  Mengambil metadata untuk fitur yang berbeda. Misalnya, metadata mungkin menunjukkan bahwa fitur diaktifkan atau dinonaktifkan pada instans DB tertentu.   | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)  |  Mengambil metrik Wawasan Performa untuk sekumpulan sumber data, selama periode waktu tertentu. Anda dapat menyediakan grup dimensi dan dimensi tertentu, serta memberikan kriteria penggabungan dan pemfilteran untuk setiap grup.  | 
| [ListAvailableResourceDimensions](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceDimensions.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html)  |  Mengambil dimensi yang dapat dikueri untuk setiap jenis metrik yang ditentukan pada instans tertentu.   | 
| [ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html)  |  Mengambil semua metrik jenis metrik tertentu yang tersedia yang dapat dikueri untuk instans DB tertentu.  | 
|  `[ListPerformanceAnalysisReports](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListPerformanceAnalysisReports.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-performance-analysis-reports.html)  | Mengambil semua laporan analisis yang tersedia untuk instans DB. Laporan dicantumkan berdasarkan waktu mulai setiap laporan. | 
|  `[ListTagsForResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListTagsForResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-tags-for-resource.html)  |  Daftar semua tag metadata yang ditambahkan ke sumber daya. Daftar ini mencakup nama dan nilai tag.  | 
|  `[TagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_TagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/tag-resource.html)  |  Menambahkan tag metadata ke sumber daya AmazonRDS. Tag ini termasuk nama dan nilai.  | 
|  `[UntagResource](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_UntagResource.html)` |  [https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html](https://docs.aws.amazon.com/cli/latest/reference/pi/untag-resource.html)  |  Menghapus tag metadata dari sumber daya.  | 

Untuk informasi selengkapnya tentang mengambil metrik deret waktu dan AWS CLI contoh untuk Performance Insights, lihat topik berikut.

**Topics**
+ [Mengambil metrik deret waktu untuk Performance Insights](USER_PerfInsights.API.TimeSeries.md)
+ [AWS CLI contoh untuk Performance Insights](USER_PerfInsights.API.Examples.md)

# Mengambil metrik deret waktu untuk Performance Insights
<a name="USER_PerfInsights.API.TimeSeries"></a>

Operasi `GetResourceMetrics` mengambil satu atau beberapa metrik deret waktu dari data Wawasan Performa. `GetResourceMetrics` memerlukan metrik dan periode waktu, dan menampilkan respons dengan daftar poin data. 

Misalnya, Konsol Manajemen AWS penggunaan `GetResourceMetrics` untuk mengisi bagan **Metrik Penghitung** dan bagan **Pemuatan Database**, seperti yang terlihat pada gambar berikut.

![\[Bagan Metrik Penghitung dan Muatan Basis Data\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/perf-insights-api-charts.png)


Semua metrik yang ditampilkan oleh `GetResourceMetrics` adalah metrik deret waktu standar, dengan pengecualian `db.load`. Metrik ini ditampilkan dalam bagan **Muatan Basis Data**. Metrik `db.load` berbeda dengan metrik deret waktu lainnya karena Anda dapat membaginya menjadi beberapa sub-komponen yang disebut *dimensi*. Di gambar sebelumnya, `db.load` dibagi dan dikelompokkan berdasarkan status tunggu yang membentuk `db.load`.

**catatan**  
`GetResourceMetrics` juga dapat menampilkan metrik `db.sampleload`, tetapi metrik `db.load` sesuai di sebagian besar kasus.

Untuk informasi tentang metrik penghitung yang ditampilkan oleh `GetResourceMetrics`, lihat [Metrik penghitung Wawasan Performa](USER_PerfInsights_Counters.md).

Penghitungan berikut didukung untuk metrik:
+ Rata-rata – Nilai rata-rata untuk metrik selama periode waktu tertentu. Tambahkan `.avg` ke nama metrik.
+ Minimum – Nilai minimum metrik selama periode waktu tertentu. Tambahkan `.min` ke nama metrik.
+ Maksimum – Nilai maksimum metrik selama periode waktu tertentu. Tambahkan `.max` ke nama metrik.
+ Jumlah – Jumlah nilai metrik selama periode waktu tertentu. Tambahkan `.sum` ke nama metrik.
+ Jumlah sampel – Frekuensi pengumpulan metrik selama periode waktu tertentu. Tambahkan `.sample_count` ke nama metrik.

Sebagai contoh, misalkan sebuah metrik dikumpulkan selama 300 detik (5 menit), dan metrik tersebut dikumpulkan satu kali setiap menit. Nilai untuk setiap menit adalah 1, 2, 3, 4, dan 5. Dalam kasus ini, penghitungan berikut ditampilkan:
+ Rata-rata – 3
+ Minimum – 1
+ Maksimum – 5
+ Jumlah – 15
+ Jumlah sampel – 5

Untuk informasi tentang menggunakan `get-resource-metrics` AWS CLI perintah, lihat [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html).

Untuk opsi `--metric-queries`, tentukan satu atau beberapa kueri yang diinginkan untuk mendapatkan hasil. Setiap kueri terdiri dari `Metric` wajib dan `GroupBy` opsional serta parameter `Filter`. Berikut ini adalah contoh spesifikasi opsi `--metric-queries`.

```
{
   "Metric": "string",
   "GroupBy": {
     "Group": "string",
     "Dimensions": ["string", ...],
     "Limit": integer
   },
   "Filter": {"string": "string"
     ...}
```

# AWS CLI contoh untuk Performance Insights
<a name="USER_PerfInsights.API.Examples"></a>

Di bagian berikut, pelajari lebih lanjut tentang AWS Command Line Interface (AWS CLI) untuk Performance Insights dan gunakan AWS CLI contoh.

**Topics**
+ [Bantuan bawaan AWS CLI untuk Performance Insights](#USER_PerfInsights.API.CLI)
+ [Mengambil metrik penghitung](#USER_PerfInsights.API.Examples.CounterMetrics)
+ [Mengambil rata-rata muatan DB untuk peristiwa tunggu teratas](#USER_PerfInsights.API.Examples.DBLoadAverage)
+ [Mengambil rata-rata muatan DB untuk SQL teratas](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL)
+ [Mengambil Rata-Rata Muatan DB yang difilter berdasarkan SQL](#USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL)
+ [Mengambil teks lengkap pernyataan SQL](#USER_PerfInsights.API.Examples.GetDimensionKeyDetails)
+ [Membuat laporan analisis performa selama periode waktu tertentu](#USER_PerfInsights.API.Examples.CreatePerfAnalysisReport)
+ [Mengambil laporan analisis performa](#USER_PerfInsights.API.Examples.GetPerfAnalysisReport)
+ [Daftar semua laporan analisis performa untuk instans DB](#USER_PerfInsights.API.Examples.ListPerfAnalysisReports)
+ [Menghapus laporan analisis performa](#USER_PerfInsights.API.Examples.DeletePerfAnalysisReport)
+ [Menambahkan tag ke laporan analisis performa](#USER_PerfInsights.API.Examples.TagPerfAnalysisReport)
+ [Mencantumkan semua tag untuk laporan analisis performa](#USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport)
+ [Menghapus tag dari laporan analisis performa](#USER_PerfInsights.API.Examples.UntagPerfAnalysisReport)

## Bantuan bawaan AWS CLI untuk Performance Insights
<a name="USER_PerfInsights.API.CLI"></a>

Anda dapat melihat data Wawasan Performa menggunakan AWS CLI. Anda dapat melihat bantuan untuk AWS CLI perintah untuk Performance Insights dengan memasukkan yang berikut ini pada baris perintah.

```
aws pi help
```

Jika Anda belum menginstal, lihat [Menginstal AWS CLI di](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) *Panduan AWS CLI Pengguna* untuk informasi tentang menginstalnya. AWS CLI 

## Mengambil metrik penghitung
<a name="USER_PerfInsights.API.Examples.CounterMetrics"></a>

Tangkapan layar berikut menunjukkan dua bagan metrik penghitung dalam Konsol Manajemen AWS.

![\[Bagan Metrik Penghitung.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/perf-insights-api-counters-charts.png)


Contoh berikut menunjukkan cara mengumpulkan data yang sama yang Konsol Manajemen AWS digunakan untuk menghasilkan dua bagan metrik penghitung.

Untuk Linux, macOS, atau Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Untuk Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Anda juga dapat membaca perintah dengan lebih mudah dengan menentukan file untuk opsi `--metrics-query`. Contoh berikut menggunakan file yang disebut query.json untuk opsi tersebut. File memiliki konten berikut.

```
[
    {
        "Metric": "os.cpuUtilization.user.avg"
    },
    {
        "Metric": "os.cpuUtilization.idle.avg"
    }
]
```

Jalankan perintah berikut untuk menggunakan file.

Untuk Linux, macOS, atau Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Untuk Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Contoh sebelumnya menentukan nilai-nilai berikut untuk opsi:
+ `--service-type` – `RDS` untuk Amazon RDS
+ `--identifier` – ID sumber daya untuk instans DB
+ `--start-time` dan `--end-time` – Nilai `DateTime` ISO 8601 untuk periode kueri, dengan berbagai format yang didukung

Ini akan dikueri selama rentang waktu satu jam:
+ `--period-in-seconds` – `60` untuk kueri per menit
+ `--metric-queries` – Rangkaian dua kueri, masing-masing hanya untuk satu metrik.

  Nama metrik menggunakan titik untuk mengklasifikasikan metrik dalam kategori yang berguna, dengan elemen terakhir sebagai fungsi. Dalam contoh, fungsinya adalah `avg` untuk setiap kueri. Seperti halnya Amazon CloudWatch, fungsi yang didukung adalah `min``max`,`total`, dan`avg`.

Responsnya terlihat seperti berikut.

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                "Metric": "os.cpuUtilization.user.avg" //Metric1
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 4.0
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 10.0
                }
                //... 60 datapoints for the os.cpuUtilization.user.avg metric
            ]
        },
        {
            "Key": {
                "Metric": "os.cpuUtilization.idle.avg" //Metric2
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 12.0
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 13.5
                },
                //... 60 datapoints for the os.cpuUtilization.idle.avg metric 
            ]
        }
    ] //end of MetricList
} //end of response
```

Respons ini memiliki `Identifier`, `AlignedStartTime`, dan `AlignedEndTime`. B nilai `--period-in-seconds` adalah `60`, waktu mulai dan akhir telah disesuaikan dengan menit. Jika `--period-in-seconds` adalah `3600`, waktu mulai dan akhir akan disesuaikan dengan jam.

`MetricList` dalam respons memiliki sejumlah entri, masing-masing dengan entri `Key` dan `DataPoints`. Masing-masing `DataPoint` memiliki `Timestamp` dan `Value`. Masing-masing daftar `Datapoints` memiliki 60 poin data karena kueri tersebut adalah untuk data per menit selama satu jam, dengan `Timestamp1/Minute1`, `Timestamp2/Minute2`, dan seterusnya, hingga `Timestamp60/Minute60`. 

Karena kueri tersebut adalah untuk dua metrik penghitung yang berbeda, ada dua elemen dalam respons `MetricList`.

## Mengambil rata-rata muatan DB untuk peristiwa tunggu teratas
<a name="USER_PerfInsights.API.Examples.DBLoadAverage"></a>

Contoh berikut adalah query yang sama yang Konsol Manajemen AWS digunakan untuk menghasilkan grafik garis area bertumpuk. Contoh ini mengambil `db.load.avg` selama satu jam terakhir dengan muatan yang dibagi berdasarkan tujuh peristiwa tunggu teratas. Perintah ini sama dengan perintah dalam [Mengambil metrik penghitung](#USER_PerfInsights.API.Examples.CounterMetrics). Namun, file query.json berisi konten berikut.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 7 }
    }
]
```

Jalankan perintah berikut.

Untuk Linux, macOS, atau Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Untuk Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Contoh ini menentukan metrik `db.load.avg` dan `GroupBy` dari tujuh peristiwa tunggu teratas. Untuk detail tentang nilai yang valid untuk contoh ini, lihat [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html) dalam *Referensi API Wawasan Kinerja.*

Responsnya terlihat seperti berikut.

```
{
    "Identifier": "db-XXX",
    "AlignedStartTime": 1540857600.0,
    "AlignedEndTime": 1540861200.0,
    "MetricList": [
        { //A list of key/datapoints 
            "Key": {
                //A Metric with no dimensions. This is the total db.load.avg
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.5166666666666667
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.38333333333333336
                },
                {
                    "Timestamp": 1540857780.0, //Minute 3
                    "Value": 0.26666666666666666
                }
                //... 60 datapoints for the total db.load.avg key
            ]
        },
        {
            "Key": {
                //Another key. This is db.load.avg broken down by CPU
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.wait_event.name": "CPU",
                    "db.wait_event.type": "CPU"
                }
            },
            "DataPoints": [
                {
                    "Timestamp": 1540857660.0, //Minute1
                    "Value": 0.35
                },
                {
                    "Timestamp": 1540857720.0, //Minute2
                    "Value": 0.15
                },
                //... 60 datapoints for the CPU key
            ]
        },
        //... In total we have 8 key/datapoints entries, 1) total, 2-8) Top Wait Events
    ] //end of MetricList
} //end of response
```

Dalam respons ini, ada delapan entri dalam `MetricList`. Ada satu entri untuk total `db.load.avg`, dan tujuh entri masing-masing untuk `db.load.avg` yang dibagi berdasarkan salah satu dari tujuh peristiwa tunggu teratas. Tidak seperti di contoh pertama, karena ada dimensi pengelompokan, pasti ada satu kunci untuk setiap pengelompokan metrik. Tidak boleh hanya ada satu kunci untuk setiap metrik, seperti dalam kasus penggunaan metrik penghitung dasar.

## Mengambil rata-rata muatan DB untuk SQL teratas
<a name="USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL"></a>

Contoh berikut mengelompokkan `db.wait_events` berdasarkan 10 pernyataan SQL teratas. Ada dua grup berbeda untuk pernyataan SQL:
+ `db.sql` – Pernyataan SQL lengkap, seperti `select * from customers where customer_id = 123`
+ `db.sql_tokenized` – Pernyataan SQL token, seperti `select * from customers where customer_id = ?`

Saat menganalisis performa basis data, sebaiknya pertimbangkan pernyataan SQL yang hanya berbeda dari segi parameternya sebagai satu item logika. Jadi, Anda dapat menggunakan `db.sql_tokenized` saat melakukan kueri. Namun, terutama ketika Anda tertarik untuk menjelaskan rencana, terkadang lebih berguna untuk memeriksa pernyataan SQL lengkap beserta parameter, dan pengelompokan kueri berdasarkan `db.sql`. Ada hubungan induk-turunan antara SQL token dan lengkap, dengan beberapa SQL lengkap (turunan) yang dikelompokkan dalam SQL token (induk) yang sama.

Perintah dalam contoh ini terlihat seperti perintah dalam [Mengambil rata-rata muatan DB untuk peristiwa tunggu teratas](#USER_PerfInsights.API.Examples.DBLoadAverage). Namun, file query.json berisi konten berikut.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.sql_tokenized", "Limit": 10 }
    }
]
```

Contoh berikut menggunakan `db.sql_tokenized`.

Untuk Linux, macOS, atau Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-29T00:00:00Z \
   --end-time   2018-10-30T00:00:00Z \
   --period-in-seconds 3600 \
   --metric-queries file://query.json
```

Untuk Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-29T00:00:00Z ^
   --end-time   2018-10-30T00:00:00Z  ^
   --period-in-seconds 3600 ^
   --metric-queries file://query.json
```

Contoh ini menanyakan lebih dari 24 jam, dengan satu jam period-in-seconds.

Contoh ini menentukan metrik `db.load.avg` dan `GroupBy` dari tujuh peristiwa tunggu teratas. Untuk detail tentang nilai yang valid untuk contoh ini, lihat [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html) dalam *Referensi API Wawasan Kinerja.*

Responsnya terlihat seperti berikut.

```
{
    "AlignedStartTime": 1540771200.0,
    "AlignedEndTime": 1540857600.0,
    "Identifier": "db-XXX",

    "MetricList": [ //11 entries in the MetricList
        {
            "Key": { //First key is total
                "Metric": "db.load.avg"
            }
            "DataPoints": [ //Each DataPoints list has 24 per-hour Timestamps and a value
                {
                    "Value": 1.6964980544747081,
                    "Timestamp": 1540774800.0
                },
                //... 24 datapoints
            ]
        },
        {
            "Key": { //Next key is the top tokenized SQL  
                "Dimensions": {
                    "db.sql_tokenized.statement": "INSERT INTO authors (id,name,email) VALUES\n( nextval(?)  ,?,?)",
                    "db.sql_tokenized.db_id": "pi-2372568224",
                    "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE"
                },
                "Metric": "db.load.avg"
            },
            "DataPoints": [ //... 24 datapoints 
            ]
        },
        // In total 11 entries, 10 Keys of top tokenized SQL, 1 total key 
    ] //End of MetricList
} //End of response
```

Respons ini memiliki 11 entri di `MetricList` (1 total, 10 SQL token teratas), dengan setiap entri memiliki 24 `DataPoints` per jam.

Untuk SQL token, ada tiga entri di setiap daftar dimensi:
+ `db.sql_tokenized.statement` – Pernyataan SQL token.
+ `db.sql_tokenized.db_id ` – Baik ID basis data native yang digunakan untuk merujuk ke SQL, maupun ID sintetis yang dihasilkan oleh Wawasan Performa untuk Anda jika ID basis data native tidak tersedia. Contoh ini menampilkan ID sintetis `pi-2372568224`.
+ `db.sql_tokenized.id` – ID kueri di dalam Wawasan Performa.

  Dalam Konsol Manajemen AWS, ID ini disebut Support ID. Ini dinamakan ini karena ID adalah data yang AWS Support dapat memeriksa untuk membantu Anda memecahkan masalah dengan database Anda. AWS menjaga keamanan dan privasi data Anda dengan sangat serius, dan hampir semua data disimpan terenkripsi dengan kunci Anda AWS KMS . Oleh karena itu, tidak ada orang di dalam yang AWS dapat melihat data ini. Di contoh sebelumnya, baik `tokenized.statement` maupun `tokenized.db_id` disimpan dengan enkripsi. Jika Anda memiliki masalah dengan database Anda, AWS Support dapat membantu Anda dengan mereferensikan ID Dukungan.

Ketika melakukan kueri, mungkin lebih mudah untuk menentukan `Group` dalam `GroupBy`. Namun, untuk kontrol lebih mendetail atas data yang ditampilkan, tentukan daftar dimensi. Misalnya, jika yang dibutuhkan hanya `db.sql_tokenized.statement`, atribut `Dimensions` dapat ditambahkan ke file query.json.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": {
            "Group": "db.sql_tokenized",
            "Dimensions":["db.sql_tokenized.statement"],
            "Limit": 10
        }
    }
]
```

## Mengambil Rata-Rata Muatan DB yang difilter berdasarkan SQL
<a name="USER_PerfInsights.API.Examples.DBLoadAverageFilterBySQL"></a>

![\[Filter berdasarkan bagan SQL.\]](http://docs.aws.amazon.com/id_id/AmazonRDS/latest/UserGuide/images/perf-insights-api-filter-chart.png)


Gambar sebelumnya menunjukkan bahwa kueri tertentu dipilih, dan grafik baris area bertumpuk sesi aktif rata-rata teratas dicakup ke kueri tersebut. Meskipun kueri masih diperuntukkan bagi tujuh peristiwa tunggu teratas secara keseluruhan, nilai respons-nya akan difilter. Filter menyebabkannya hanya memperhitungkan sesi yang cocok untuk filter tertentu.

Kueri API terkait dalam contoh ini sama seperti perintah di [Mengambil rata-rata muatan DB untuk SQL teratas](#USER_PerfInsights.API.Examples.DBLoadAverageTop10SQL). Namun, file query.json berisi konten berikut.

```
[
 {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_event", "Limit": 5  }, 
        "Filter": { "db.sql_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
    }
]
```

Untuk Linux, macOS, atau Unix:

```
aws pi get-resource-metrics \
   --service-type RDS \
   --identifier db-ID \
   --start-time 2018-10-30T00:00:00Z \
   --end-time   2018-10-30T01:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Untuk Windows:

```
aws pi get-resource-metrics ^
   --service-type RDS ^
   --identifier db-ID ^
   --start-time 2018-10-30T00:00:00Z ^
   --end-time   2018-10-30T01:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

Responsnya terlihat seperti berikut.

```
{
    "Identifier": "db-XXX", 
    "AlignedStartTime": 1556215200.0, 
    "MetricList": [
        {
            "Key": {
                "Metric": "db.load.avg"
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.4878117913832196
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.192823803967328
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/aurora_redo_log_flush"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 1.1360544217687074
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 1.058051341890315
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "io", 
                    "db.wait_event.name": "wait/io/table/sql/handler"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.16241496598639457
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05163360560093349
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/aurora_lock_thread_slot_futex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.11479591836734694
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.013127187864644107
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "CPU", 
                    "db.wait_event.name": "CPU"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.05215419501133787
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.05805134189031505
                }
            ]
        }, 
        {
            "Key": {
                "Metric": "db.load.avg", 
                "Dimensions": {
                    "db.wait_event.type": "synch", 
                    "db.wait_event.name": "wait/synch/mutex/innodb/lock_wait_mutex"
                }
            }, 
            "DataPoints": [
                {
                    "Timestamp": 1556218800.0, 
                    "Value": 0.017573696145124718
                }, 
                {
                    "Timestamp": 1556222400.0, 
                    "Value": 0.002333722287047841
                }
            ]
        }
    ], 
    "AlignedEndTime": 1556222400.0
} //end of response
```

Dalam tanggapan ini, semua nilai difilter sesuai dengan kontribusi SQL AKIAIOSFODNN7 EXAMPLE tokenized yang ditentukan dalam file query.json. Kunci mungkin juga mengikuti urutan yang berbeda dari kueri tanpa filter, karena lima peristiwa tunggu teratas tersebutlah yang memengaruhi SQL yang difilter.

## Mengambil teks lengkap pernyataan SQL
<a name="USER_PerfInsights.API.Examples.GetDimensionKeyDetails"></a>

Contoh berikut mengambil teks lengkap pernyataan SQL untuk instans DB `db-10BCD2EFGHIJ3KL4M5NO6PQRS5`. `--group` adalah `db.sql`, dan `--group-identifier` adalah `db.sql.id`. Dalam contoh ini, *my-sql-id* merupakan ID SQL diambil dengan memanggil `pi get-resource-metrics` atau. `pi describe-dimension-keys`

Jalankan perintah berikut.

Untuk Linux, macOS, atau Unix:

```
aws pi get-dimension-key-details \
   --service-type RDS \
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 \
   --group db.sql \
   --group-identifier my-sql-id \
   --requested-dimensions statement
```

Untuk Windows:

```
aws pi get-dimension-key-details ^
   --service-type RDS ^
   --identifier db-10BCD2EFGHIJ3KL4M5NO6PQRS5 ^
   --group db.sql ^
   --group-identifier my-sql-id ^
   --requested-dimensions statement
```

Dalam contoh ini, detail dimensinya tersedia. Dengan demikian, Wawasan Performa mengambil teks lengkap pernyataan SQL, tanpa memotongnya.

```
{
    "Dimensions":[
    {
        "Value": "SELECT e.last_name, d.department_name FROM employees e, departments d WHERE e.department_id=d.department_id",
        "Dimension": "db.sql.statement",
        "Status": "AVAILABLE"
    },
    ...
    ]
}
```

## Membuat laporan analisis performa selama periode waktu tertentu
<a name="USER_PerfInsights.API.Examples.CreatePerfAnalysisReport"></a>

Contoh berikut membuat laporan analisis performa dengan waktu mulai `1682969503` dan waktu akhir `1682979503` untuk basis data `db-loadtest-0`.

```
aws pi create-performance-analysis-report \
        --service-type RDS \
        --identifier db-loadtest-0 \
        --start-time 1682969503 \
        --end-time 1682979503 \
        --region us-west-2
```

Responsnya adalah ID unik `report-0234d3ed98e28fb17` untuk laporan tersebut.

```
{
   "AnalysisReportId": "report-0234d3ed98e28fb17"
}
```

## Mengambil laporan analisis performa
<a name="USER_PerfInsights.API.Examples.GetPerfAnalysisReport"></a>

Contoh berikut mengambil detail laporan analisis untuk laporan `report-0d99cc91c4422ee61`.

```
aws pi get-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

Respons memberikan status laporan, ID, detail waktu, dan wawasan.

```
        {
    "AnalysisReport": {
        "Status": "Succeeded", 
        "ServiceType": "RDS", 
        "Identifier": "db-loadtest-0", 
        "StartTime": 1680583486.584, 
        "AnalysisReportId": "report-0d99cc91c4422ee61", 
        "EndTime": 1680587086.584, 
        "CreateTime": 1680587087.139, 
        "Insights": [
           ... (Condensed for space)
        ]
    }
}
```

## Daftar semua laporan analisis performa untuk instans DB
<a name="USER_PerfInsights.API.Examples.ListPerfAnalysisReports"></a>

Contoh berikut mencantumkan semua laporan analisis performa yang tersedia untuk basis data `db-loadtest-0`.

```
aws pi list-performance-analysis-reports \
--service-type RDS \
--identifier db-loadtest-0 \
--region us-west-2
```

Respons ini mencantumkan semua laporan dengan ID laporan, status, dan detail periode waktu.

```
{
    "AnalysisReports": [
        {
            "Status": "Succeeded", 
            "EndTime": 1680587086.584, 
            "CreationTime": 1680587087.139, 
            "StartTime": 1680583486.584, 
            "AnalysisReportId": "report-0d99cc91c4422ee61"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681491137.914, 
            "CreationTime": 1681491145.973, 
            "StartTime": 1681487537.914, 
            "AnalysisReportId": "report-002633115cc002233"
        }, 
        {
            "Status": "Succeeded", 
            "EndTime": 1681493499.849, 
            "CreationTime": 1681493507.762, 
            "StartTime": 1681489899.849, 
            "AnalysisReportId": "report-043b1e006b47246f9"
        }, 
        {
            "Status": "InProgress", 
            "EndTime": 1682979503.0, 
            "CreationTime": 1682979618.994, 
            "StartTime": 1682969503.0, 
            "AnalysisReportId": "report-01ad15f9b88bcbd56"
        }
    ]
}
```

## Menghapus laporan analisis performa
<a name="USER_PerfInsights.API.Examples.DeletePerfAnalysisReport"></a>

Contoh berikut menghapus laporan analisis untuk basis data `db-loadtest-0`.

```
aws pi delete-performance-analysis-report \
--service-type RDS \
--identifier db-loadtest-0 \
--analysis-report-id report-0d99cc91c4422ee61 \
--region us-west-2
```

## Menambahkan tag ke laporan analisis performa
<a name="USER_PerfInsights.API.Examples.TagPerfAnalysisReport"></a>

Contoh berikut menambahkan tag dengan kunci `name` dan nilai `test-tag` ke laporan `report-01ad15f9b88bcbd56`.

```
aws pi tag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tags Key=name,Value=test-tag \
--region us-west-2
```

## Mencantumkan semua tag untuk laporan analisis performa
<a name="USER_PerfInsights.API.Examples.ListTagsPerfAnalysisReport"></a>

Contoh berikut mencantumkan semua tag untuk laporan `report-01ad15f9b88bcbd56`.

```
aws pi list-tags-for-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--region us-west-2
```

Respons ini mencantumkan nilai dan kunci untuk semua tag yang ditambahkan ke laporan:

```
{
    "Tags": [
        {
            "Value": "test-tag", 
            "Key": "name"
        }
    ]
}
```

## Menghapus tag dari laporan analisis performa
<a name="USER_PerfInsights.API.Examples.UntagPerfAnalysisReport"></a>

Contoh berikut menghapus tag `name` dari laporan `report-01ad15f9b88bcbd56`.

```
aws pi untag-resource \
--service-type RDS \
--resource-arn arn:aws:pi:us-west-2:356798100956:perf-reports/RDS/db-loadtest-0/report-01ad15f9b88bcbd56 \
--tag-keys name \
--region us-west-2
```

Setelah tag dihapus, pemanggilan API `list-tags-for-resource` tidak akan mencantumkan tag ini.