HEX
Server: Apache/2.4.34 (Red Hat) OpenSSL/1.0.2k-fips
System: Linux WORDPRESS 3.10.0-1160.118.1.el7.x86_64 #1 SMP Thu Apr 4 03:33:23 EDT 2024 x86_64
User: digital (1020)
PHP: 7.2.24
Disabled: NONE
Upload Files
File: //opt/perf/examples/arm/jcorrelator.java
/**************************************************************************/
/* /opt/perf/examples/arm/jcorrelator.java                                */
/*                                                                        */
/* This java program provides examples of how to use User-Defined Metrics */
/* and Correlators (ARM 2.0 features) via the Java bindings for ARM.      */
/*                                                                        */
/* Hewlett-Packard Performance Technology Center 09FEB01                  */
/**************************************************************************/

import armapi.*;
import java.io.*;
import java.lang.Thread;


  class Server
  {

	ARMTransaction servertran;


      /**
      This constructor initializes the server
      */

  	  public Server()
      {
	    ARMApplication application=
	    new ARMApplication("Java_Server_App", "*");

	    servertran=
	    application.createTransaction("Java_Server_tran","Java Server");


	    int val = application.printArmGetid();
        System.out.println("Server transaction ID = " + val);
      }





      /****************************************************************************/
	  /* server - transaction                                                     */
	  /*                                                                          */
	  /* This routine is included here to simplify the this example.  In a real   */
	  /* life situation, this piece of code would actually be running on a        */
	  /* separate system.                                                         */
	  /****************************************************************************/

      public void transaction(ARMTranCorrelator parent)
                   throws Exception
      {

         int status;

         // new instance of a server transaction starts
         ARMTransactionInstance servertraninstance =
         servertran.createTransactionInstance();



         status = servertraninstance.startTranWithCorrelator(parent);

         if ( status < 0 )
         System.out.println("Return from startTran = " + status );


        // sleep for 10 seconds to simulate activity of actual server program
        // normally actual processing of the client transaction's request by
        // the server process would occur here.

        Thread.sleep(10000);

        // the server transaction instance stops
        servertraninstance.stopTranInstance(ARMConstants.ARM_GOOD);
      } //end of method transaction

} // end of class Server


  class Client
  {

	 ARMTransaction clienttran;

	 /**
	 This constructor initializes the client
      */
	 public Client()
	 {
		  int val;
		  ARMApplication clientapp = new ARMApplication("Java_Client_App", "*");
          clienttran = clientapp.createTransaction("Java_Client_tran");
          val = clientapp.printArmGetid();
          System.out.println("Client transaction ID = " + val);
     }


	 public void transaction(Server serverapp)
	 throws Exception
	 {

    	int status;

    	//new instance of a client transaction begins
    	ARMTransactionInstance clienttraninstance =
        clienttran.createTransactionInstance();

    	status = clienttraninstance.startTranWithCorrelator();
    	if ( status < 0 )
        System.out.println("Return from startTranAndGetCorrelator = "
                     + status );



    // this is where actual client-side processing would take place
    // to simulate activity, sleep for 2 seconds
    Thread.sleep(2000);

    // request action from server, passing correlator
    serverapp.transaction(clienttraninstance.getCorrelator());

    // server processing completes, client transaction is ended
    clienttraninstance.stopTranInstance(ARMConstants.ARM_GOOD);

     }  // end of transaction()
  } // end of class Client




  public class jcorrelator
  {



  	public static void main(String[] args) throws Exception
  	{
		Server serverapp = new Server();
		Client clientapp = new Client();


      	while (true)
	  	clientapp.transaction(serverapp);

    }  // end main


  }  // End of class