Qpid Brokers Test

The Apache Qpid Java Broker is a powerful open-source message broker that implements all versions of the Advanced Message Queuing Protocol (AMQP). AMQP is an open internet protocol for reliably sending and receiving messages. It makes it possible for everyone to build a diverse, coherent messaging ecosystem. This test reports the current state of the broker, ensuring that there is a proper message transaction happening to and from the broker and also alerts the administrators on memory constraints, if any.

Target of the test : Apache Qpid Java Broker

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for the target Apache Qpid Java Broker.

Configurable parameters for the test
Parameter Description

Test period

How often should the test be executed.

Host

The IP address of the target server that is being monitored.

Port

The port number through which the Apache Qpid Java Broker communicates. The default port is 8080.

Username

By default, the eG agent executes REST APIs on the target component to collect the required metrics. For the eG agent to execute the REST APIs, a user with monitoring privilege is required. Specify the name of such a user in this text box.

Password

Specify the password corresponding to the user mentioned in the Username text box here.

Confirm Password

Confirm the password by retyping it here.

SSL

By default, the SSL flag is set to No, indicating that the target Apache Qpid Java Broker is not SSL-enabled by default. To enable the test to connect to an SSL-enabled Apache Qpid Java Broker, set the SSL flag to Yes.

Timeout

Specify the duration (in seconds) within which the query executed by this test should time out in this text box.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability.
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

State

Indicates the current state of the broker.

 

The values reported by this measure and its numeric equivalents are mentioned in the table below:

Measure Value

Numeric Value
Stopped 0
Quiesced 50
Uninitialized 60
Unavailable 70
Errored 80
Deleted 90
Active 100

Note:

By default, this measure reports the Measure Values listed in the table above to indicate the current state of the broker.

Use the detailed diagnosis of this measure to figure out the Process PID details.

Data in

It indicates the total size of all the messages received by the Broker.

MB

A very low value is desired for this measure since more number of messages can exceed the size of the broker’s internal buffer, causing unexpected errors.

Data out

It indicates the total size of all the messages delivered by the Broker.

MB

 

Direct memory total capacity

It indicates the total capacity of direct memory allocated for the Broker process.

MB

A very high value is desired for this measure. When the broker detects that it uses 75% of available direct memory it will start flowing incoming transient messages to disk and reading them back before delivery. This will prevent the broker from running out of direct memory but may degrade performance by requiring disk I/O.

Inbound message size high watermark

It indicates the maximum size of messages published into the Broker since start-up.

MB

 

Messages in

It indicates the total number of messages received by the Broker.

Messages

 

Messages out

It indicates the total number of messages delivered by the Broker.

Messages

 

Number of buffers in pool

It indicates the number of unused direct memory buffers currently available in the pool.

Counts

A very high value is desired for this measure.

Number of buffers in use

It indicates the number of direct memory buffers currently in-use.

Counts

A very low value is desired for these measures.

 

Number of live threads

It indicates the number of live threads.

Counts

Number of objects pending finalization

It indicates the number of objects to be finalized.

Counts

Ideally, the value of this measure should be zero.

Process CPU load

It indicates the CPU load of the current process.

Counts

A very low value is desired for these measures.

 

Process CPU time

It indicates the CPU time of the cumulative process.

Milliseconds

Transacted messages in

It indicates the total number of messages received by the Broker within a transaction.

Messages

A very high value is desired for these measures. A transactional message is an automated message that’s triggered by an action a given consumer takes. Generally these messages include necessary or high-priority info, such as a receipt, delivery details or updates, or order confirmations - and because they’re triggered by that individual's unique actions, they’re always sent on an individual basis, rather than to a big list of potential recipients.

Transacted messages out

It indicates the total number of messages delivered by the Broker within a transaction.

Messages

Used direct memory size

It indicates the size of used direct memory.

MB

A very low value is desired for this measure.

Used heap memory size

It indicates the size of used heap memory.

MB

A very high value is desired for this measure. When the broker runs low on heap memory, performance will degrade because the JVM will trigger full garbage collection (GC) events in a struggle to free memory.