Rumah  >  Artikel  >  Java  >  Bagaimana untuk memantau prestasi fungsi Java dan menerima makluman apabila masalah berlaku?

Bagaimana untuk memantau prestasi fungsi Java dan menerima makluman apabila masalah berlaku?

PHPz
PHPzasal
2024-04-20 08:36:01902semak imbas

Untuk memantau prestasi fungsi Java dan menetapkan amaran, ikuti langkah berikut: Tambahkan kebergantungan yang diperlukan. Dalam kelas fungsi, tambahkan kod pemantauan dan amaran. Letak fungsi, pastikan pembolehubah persekitaran FUNCTIONS_SIGNATURE_TYPE ditetapkan. Dalam papan pemuka Pemantauan Awan Google, buat peraturan makluman dengan ambang metrik tersuai yang mencetuskan makluman apabila masa pelaksanaan melebihi jangkaan.

Bagaimana untuk memantau prestasi fungsi Java dan menerima makluman apabila masalah berlaku?

Cara memantau prestasi fungsi Java dan dimaklumkan apabila masalah berlaku

Pengenalan

Memantau prestasi fungsi Java adalah penting untuk memastikan ketersediaan dan prestasi aplikasi anda. Dengan menetapkan makluman, anda boleh mendapatkan pemberitahuan tepat pada masanya apabila penunjuk utama kelihatan tidak normal, jadi anda boleh mengambil tindakan tepat pada masanya. Artikel ini membimbing anda tentang cara menggunakan API Pemantauan Fungsi Awan Google untuk memantau prestasi fungsi Java dan menetapkan makluman. Prasyarat projek dle dan Tambah kebergantungan berikut:

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>functions-framework-java</artifactId>
  <version>1.0.35</version>
</dependency>

<dependency>
  <groupId>com.google.cloud</groupId>
  <artifactId>google-cloud-functions</artifactId>
  <version>3.3.0</version>
</dependency>

Buat kelas untuk melaksanakan fungsi anda:

import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class MyFunction implements HttpFunction {
    @Override
    public void service(HttpRequest request, HttpResponse response)
            throws IOException {
        // 您的函数逻辑
        PrintWriter writer = response.getWriter();
        writer.print("Hello World!");
    }
}

2. Tambahkan pemantauan dan makluman
  • dalam pom.xml atau build.gradlecode > fail, tambahkan kebergantungan berikut:
  • <dependency>
      <groupId>io.opencensus</groupId>
      <artifactId>opencensus-exporter-stats-cloud</artifactId>
      <version>0.16.0</version>
    </dependency>
  • Dalam kelas fungsi, tambah kod pemantauan dan amaran:
  • import io.opencensus.exporter.stats.stackdriver.StackdriverStatsExporter;
    import io.opencensus.stats.Stats;
    import io.opencensus.stats.ViewManager;
    import java.util.List;
    
    public class MyFunction implements HttpFunction {
        private static final StackdriverStatsExporter exporter =
                StackdriverStatsExporter.createAndRegister();
    
        private static final List<String> MONITORED_FUNCTIONS = List.of("http_server", "fn");
    
        // Add a shutdown hook to stop the exporter at the end of the app lifecycle.
        // This is a best-effort attempt to ensure that metrics are flushed before termination.
        public static void init() {
            Runtime.getRuntime().addShutdownHook(exporter::shutdown);
        }
    
        @Override
        public void service(HttpRequest request, HttpResponse response)
                throws IOException {
            // Monitor the execution of your function using Stackdriver.
            // You can enable monitoring by setting the FUNCTIONS_SIGNATURE_TYPE environment
            // variable as shown at https://cloud.google.com/functions/docs/monitoring/logging.
            ViewManager viewManager = Stats.getViewManager();
            // We only need to register the default views once per JVM.
            // However, you can register views more than once, and the duplicate registrations
            // will be ignored after the first time. Alternatively, you can configure all of the
            // default views with a parameter.
            viewManager.registerAllViews();
        }
    }
  • 3 Letak fungsi

Gunakan fungsi anda, pastikan FUNCTIONS_SIGNATURE_TYPEset > Pembolehubah persekitaran.

gcloud functions deploy my-function \
--entry-point MyFunction \
--runtime java11 \
--trigger-http

4. Sediakan makluman

Log masuk ke papan pemuka Pemantauan Awan Google dan navigasi ke tab Makluman.

Buat Peraturan:

Klik butang "Buat Peraturan".

pom.xmlbuild.gradle 文件中,添加以下依赖项:

custom.googleapis.com/cloud_function/http/latency

在函数类中,添加监控和警报代码:

rrreee

3. 部署函数

部署您的函数,确保已设置 FUNCTIONS_SIGNATURE_TYPE

Nyatakan syarat: Pilih jenis metrik "Metrik" dan pilih metrik berikut: rrreee

Tetapkan ambang:
    Tetapkan ambang kepada nilai jangkaan masa pelaksanaan fungsi.
  • Sediakan saluran:
  • Pilih saluran pemberitahuan seperti e-mel atau Slack.
  • Kes praktikal

  • Sebagai contoh, anda boleh menetapkan penggera untuk mencetuskan apabila masa pelaksanaan fungsi melebihi 1 saat. Dengan cara ini, anda boleh dimaklumkan dengan segera apabila terdapat masalah dengan prestasi fungsi supaya anda boleh mengambil langkah untuk menyiasat dan mengurangkan.
  • Langkah Seterusnya
  • Tutorial ini menunjukkan cara menggunakan Stackdriver untuk memantau prestasi fungsi Java dan menetapkan amaran. Anda juga boleh meneroka sumber berikut untuk mendapatkan maklumat lanjut:

[API Pemantauan Fungsi Awan Google](https://cloud.google.com/functions/docs/monitoring/concepts)[OpenCensus Java](https: / /github.com/census-instrumentation/opencensus-java)

Atas ialah kandungan terperinci Bagaimana untuk memantau prestasi fungsi Java dan menerima makluman apabila masalah berlaku?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn