Life ConnectLife Connect
Wiki index
Architecture
Services
Concepts
Runbooks
Infra
Swagger Docs
GitHub
Wiki index
Architecture
Services
Concepts
Runbooks
Infra
Swagger Docs
GitHub
  • Archive
  • Data Dictionary
  • Functional Epics

    • DICTIONARY OF ATTRIBUTES
    • Search Condos
    • Display

      • DisplayAll

        • Display all - Contracts
        • Display all - invoices
        • Display all - parts
        • Display all - Persons Relationships
        • Display all - Persons
        • Display tickets
      • DisplayContract

        • Display bank account Contract
        • Display Condo Member Contract
        • Display contact contract
        • Display Employee Contract
        • Display Generic Contract
        • Display Insurance Contract
        • Display Legal Represent Contract
        • Display Oral Contract
        • Display Owner Contract
        • Display Condo Regulation Contract
        • Display rental Contract
        • Display Supplier Contract
        • Display Trustee Contract
      • DisplayDelegate

        • Display Delegate
      • DisplayHistory

        • Display history
      • DisplayPerson

        • Display Company Person
        • Display Condo Person
        • Display Division Person
        • Display Group Person
        • Display Indivision Person
        • Display Natural Person
        • Display Union Person
        • Display Unknown Person
      • DisplayPersonsContracts

        • Display all Interventions
      • DisplayProperty

        • Display part
        • Display part
      • UiPerson

        • Display "mini" Persons
    • Process

      • Create

        • Create property & condo
      • Delete

        • Delete objects according to state machine
      • RC Renewal

        • RC RESIDENTIAL - automatic renewal
      • Review

        • rent amount review - RC residential - creation
        • rent amount review - RC residential - take-over
      • Sell

        • Sell a unit
    • Reporting

      • GRR

        • GLOBAL RENT REPORT
    • Search

      • Search
    • StateMachine

      • CreatingContract

        • State machine - creating a rental contract
        • State machine - creating a rental delegate contract
        • State machine - Referencing a abstract part contract
        • State machine - Referencing a bank contract
        • State machine - Referencing a condo regulation contract
        • State machine - Referencing a contact contract
        • State machine - Referencing an employee contract
        • State machine - Referencing a generic contract
        • State machine - Referencing a legal represent contract
        • State machine - Referencing a owner contract
        • State machine - Referencing a rental contract
        • State machine - Referencing a supplier contract
        • State machine - Referencing a trustee contract
      • CreatingIntervention

        • State machine - creating a ticket
        • State machine - Referencing a message
      • CreatingInvoice

        • State machine - creating a incoming (supplier) invoice
      • CreatingPayments

        • State machine - creating an incoming payment
      • EncodingPart

        • CreatingPart

          • State machine - Referencing part relationships
          • State machine - Referencing a part
      • EncodingPerson

        • CreatingAddresses

          • State machine - Creating email address
          • State machine - Creating phone address
          • State machine - Creating postal address
          • State machine - Creating web address
        • CreatingPerson

          • State machine - Referencing a company person
          • State machine - Referencing a condo person
          • State machine - Referencing a division person
          • State machine - Referencing an group person
          • State machine - Referencing an indivision person
          • State machine - Referencing a natural person
          • State machine - Referencing a union person
        • CreatingShareHolders

          • State machine - valuing a shareholder
      • Scanning

        • State machine scanning - analyze a document
        • State machine scanning - matching a document
        • State machine scanning - encoding a document : related information
    • Utility

      • Allocation keys
      • Company settings
      • Document data & file
      • Revision Index
    • Validations

      • Shareholders validation
  • Implicit

    • Callback

      • Logging In
  • ProductBoard

    • Rental Process

      • Rental delegate process
    • Ticketing

      • Create a ticket - link a ticket in Outlook add-in - add a call - display a ticket
      • Display Person Info in Outlook add-in
  • Technical Epics

    • Indexation Feature Documentation
    • Rent Amount Management Feature Documentation
    • I have an API
    • I can store the balance of an account
    • I Have Person Notifications
    • 🧩 System Process Diagrams
    • The Team has a DEV environment
    • The Team is organized
    • Accounting

      • Re-generation of Invoices
      • I can call the rent for my Rental Contract
      • Payment Creation Strategy Feature Documentation
      • I Can Revese

        • Payment Reversal
      • I Have Invoices

        • I have direction on invoice's item level
      • I Have Subsidies

        • I Can Receive Family Allowance Payments - Technical Documentation
        • Subsidies + Direct Debit Documentation
    • Communication Module

      • Communication module
    • Contracts

      • I can have contract guarantors
      • API Models
      • I Have Call For Rent Process

        • Call For Rent (CFR) Process Documentation
      • Occupancy Compensation

        • **OCCUPANCY COMPENSATION Documentation**
      • State Machine

        • I can have the Rental Contract state machine
    • Database

      • Database Indexes
    • E2e Testing

      • I can create an E2E dataset
    • Env Setup

      • Adapt env to stateless UI build
      • Blockhound
      • Table of Environments and Their Specifications
      • Environment How-To
      • Java Flight Recorder Management Documentation
      • Local Environment Setup
      • Kubernetes Logs Retrieval Documentation
      • Monitoring
      • I can create a new organisation
      • Production Environment Configuration
      • Remote Environment Setup
      • Set up of separate DB for env
      • Terraform Aws S3 Buckets
      • adb-ui Service Version Update
    • Files

      • I can have tags for files
    • Globals

      • boundaries
      • boundaries
      • boundaries
      • boundaries
    • Messaging

      • MongoDB Trigger Model Documentation
    • Open Api

      • Swagger Documentation Guide
      • Swagger
    • Parts

      • I Have A Forecast And Actuals Module
      • I can have part equipments
    • Process

      • Pre-Meeting Questionnaire
      • I Can Release My Feature
    • Security

      • I can create and provision an organisation
      • a user is granted access to the application
    • Stress Test

      • Introduction
      • Reports

        • Introduction
        • Introduction
        • Introduction
        • Introduction
        • Introduction
        • Table of contents
    • Tickets

      • Ticket Details Functionality
    • Troubleshooting

      • Prometheus Memory Issue Handling
Last updated 2024-11-01⚠️ 1 year 7 months old — verify against current code before relying on details.

Java Flight Recorder Management Documentation

This documentation describes two scripts: one for starting and another for stopping Java Flight Recorder (JFR), as well as instructions on how to download, install, and run Java Mission Control.

Starting Java Flight Recorder: start_jfr.sh

What it does:

The first script is responsible for starting Java Flight Recorder (JFR) on a specific pod in a Kubernetes namespace. The script does the following:

  1. Defines the necessary environment variables like the Kubernetes namespace, recording name, settings, and pod prefix.
  2. Connects to the remote server using SSH with a specified user.
  3. Finds the pod by matching the provided prefix.
  4. Starts the JFR on the Java process inside the pod using jcmd, with a specified recording name, settings, and a duration of 999 hours.
  5. The JFR recording is saved to a specific file path inside the pod.

Variables:

  • VPS_HOST: The remote server's hostname or IP address.
  • SSH_USER: The username for SSH.
  • NAMESPACE: Kubernetes namespace where the pod resides.
  • RECORDING_NAME: The name of the JFR recording.
  • SETTINGS: The Java Flight Recorder settings.
  • POD_PREFIX: The prefix used to find the pod.

Stopping Java Flight Recorder: stop_jfr.sh

What it does:

The second script stops an active Java Flight Recorder (JFR) session on a specific pod in the Kubernetes namespace and downloads the recording file. The script performs the following actions:

  1. Defines environment variables like Kubernetes namespace, recording name, and pod prefix.
  2. Connects to the remote server using SSH with the provided user credentials.
  3. Finds the pod based on the prefix.
  4. Stops the JFR session using jcmd and the previously started recording name.
  5. Downloads the recording from the pod using kubectl cp and then transfers it from the remote server to the local machine using scp.

Variables:

  • VPS_HOST: The remote server's hostname or IP address.
  • SSH_USER: The username for SSH.
  • NAMESPACE: Kubernetes namespace where the pod resides.
  • RECORDING_NAME: The name of the JFR recording to stop.
  • POD_PREFIX: The prefix used to find the pod.
  • FILENAME: The file path where the JFR recording is stored inside the pod.

How to Install and Run Java Mission Control (JMC)

Here's how to install and run it on Linux:

Step 1: Download Java Mission Control

  1. Visit the Official JMC Download Page.
  2. Download the latest version of the Java Mission Control package for Linux.

Step 2: Install Java Mission Control

  1. Extract the downloaded .tar.gz archive:
    tar -xzf <path-to-jmc-tar.gz> -C /opt
    
  2. Optionally, create a symbolic link to make it easier to run:
    sudo ln -s /opt/jmc/jmc /usr/local/bin/jmc
    

Step 3: Launch Java Mission Control

You can now launch JMC from the terminal:

/opt/jmc/jmc

Or, if you created the symbolic link:

jmc

Step 4: Open JFR Recording

Once JMC is open, you can open JFR file that was downloaded using the second script.

Edit this page
Last Updated:
Contributors: Yevhenii Khudolii
Prev
Environment How-To
Next
Local Environment Setup