Search in sources :

Example 1 with ServerGeoLocation

use of org.iobserve.common.record.ServerGeoLocation in project iobserve-analysis by research-iobserve.

the class ServerGeoLocationSampler method getGeoLocationRecord.

/**
 * {@inheritDoc}
 */
@Override
public IMonitoringRecord getGeoLocationRecord(final long timestamp, final String hostname, final short countryCode, final IMonitoringController monitoringCtr) throws Exception {
    final Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces();
    ServerGeoLocation record = null;
    while (netInterfaces.hasMoreElements() && record == null) {
        final String address = this.getCorrectIPAdress(netInterfaces.nextElement());
        if (address != null) {
            record = new ServerGeoLocation(timestamp, countryCode, hostname, address);
        }
    }
    if (record == null) {
        throw new UnknownHostException("It was not possible to determine an IP Adress");
    }
    return record;
}
Also used : UnknownHostException(java.net.UnknownHostException) NetworkInterface(java.net.NetworkInterface) ServerGeoLocation(org.iobserve.common.record.ServerGeoLocation)

Example 2 with ServerGeoLocation

use of org.iobserve.common.record.ServerGeoLocation in project iobserve-analysis by research-iobserve.

the class DynamicEventDispatcherTest method initializeRecordSwitch.

/**
 * Initialize the record switch test setup.
 */
@Before
public void initializeRecordSwitch() {
    this.kiekerMetadataRecords.add(new KiekerMetadataRecord(DynamicEventDispatcherTest.VERSION, DynamicEventDispatcherTest.CONTROLLER_NAME, DynamicEventDispatcherTest.HOSTNAME, DynamicEventDispatcherTest.EXPERIMENT_ID, DynamicEventDispatcherTest.DEBUG_MODE, DynamicEventDispatcherTest.TIME_OFFSET, DynamicEventDispatcherTest.TIME_UNIT, DynamicEventDispatcherTest.NUMBER_OF_RECORDS));
    /**
     * allocation.
     */
    this.allocationRecords.add(new ContainerAllocationEvent(DynamicEventDispatcherTest.URL));
    /**
     * declare deployment records.
     */
    this.deploymentRecords.add(new ServletDeployedEvent(this.time++, DynamicEventDispatcherTest.SERVICE, DynamicEventDispatcherTest.CONTEXT, DynamicEventDispatcherTest.DEPLOYMENT_ID));
    this.deploymentRecords.add(new EJBDeployedEvent(this.time++, DynamicEventDispatcherTest.SERVICE, DynamicEventDispatcherTest.CONTEXT, DynamicEventDispatcherTest.DEPLOYMENT_ID));
    /**
     * geolocation.
     */
    this.geolocationRecords.add(new ServerGeoLocation(this.time++, DynamicEventDispatcherTest.COUNTRY_CODE, DynamicEventDispatcherTest.HOSTNAME, DynamicEventDispatcherTest.ADDRESS));
    /**
     * session event (start).
     */
    final SessionStartEvent sessionStartEvent = new SessionStartEvent(this.time++, DynamicEventDispatcherTest.HOSTNAME, DynamicEventDispatcherTest.SESSION_ID);
    this.sessionEventRecords.add(sessionStartEvent);
    /**
     * start trace.
     */
    final TraceMetadata traceMetadata = new TraceMetadata(DynamicEventDispatcherTest.TRACE_ID, DynamicEventDispatcherTest.THREAD_ID, DynamicEventDispatcherTest.SESSION_ID, DynamicEventDispatcherTest.HOSTNAME, 0, -1);
    this.traceMetadataRecords.add(traceMetadata);
    this.flowRecords.add(traceMetadata);
    /**
     * flow record.
     */
    this.flowRecords.add(new BeforeOperationEvent(this.time++, DynamicEventDispatcherTest.TRACE_ID, DynamicEventDispatcherTest.ORDER_INDEX, DynamicEventDispatcherTest.OPERATION_SIGNATURE, DynamicEventDispatcherTest.CLASS_SIGNATURE));
    this.flowRecords.add(new AfterOperationEvent(this.time++, DynamicEventDispatcherTest.TRACE_ID, DynamicEventDispatcherTest.ORDER_INDEX + 1, DynamicEventDispatcherTest.OPERATION_SIGNATURE, DynamicEventDispatcherTest.CLASS_SIGNATURE));
    /**
     * session event (end).
     */
    final SessionEndEvent sessionEndEvent = new SessionEndEvent(this.time++, DynamicEventDispatcherTest.HOSTNAME, DynamicEventDispatcherTest.SESSION_ID);
    this.sessionEventRecords.add(sessionEndEvent);
    /**
     * declare undeployment records.
     */
    this.undeploymentRecords.add(new ServletUndeployedEvent(this.time++, DynamicEventDispatcherTest.SERVICE, DynamicEventDispatcherTest.CONTEXT, DynamicEventDispatcherTest.DEPLOYMENT_ID));
    this.undeploymentRecords.add(new EJBUndeployedEvent(this.time++, DynamicEventDispatcherTest.SERVICE, DynamicEventDispatcherTest.CONTEXT, DynamicEventDispatcherTest.DEPLOYMENT_ID));
    /**
     * allocation.
     */
    this.deallocationRecords.add(new ContainerDeallocationEvent(DynamicEventDispatcherTest.URL));
    /**
     * other records.
     */
    this.otherRecords.add(new GCRecord(this.time++, DynamicEventDispatcherTest.HOSTNAME, DynamicEventDispatcherTest.VM_NAME, DynamicEventDispatcherTest.GC_NAME, DynamicEventDispatcherTest.COLLECTION_COUNT, DynamicEventDispatcherTest.COLLECTION_TIME_MS));
    /**
     * declare all input record types.
     */
    this.inputRecords.addAll(this.kiekerMetadataRecords);
    this.inputRecords.addAll(this.allocationRecords);
    this.inputRecords.addAll(this.deploymentRecords);
    this.inputRecords.addAll(this.geolocationRecords);
    this.inputRecords.add(sessionStartEvent);
    this.inputRecords.addAll(this.flowRecords);
    this.inputRecords.add(sessionEndEvent);
    this.inputRecords.addAll(this.undeploymentRecords);
    this.inputRecords.addAll(this.deallocationRecords);
    this.inputRecords.addAll(this.otherRecords);
}
Also used : AfterOperationEvent(kieker.common.record.flow.trace.operation.AfterOperationEvent) EJBDeployedEvent(org.iobserve.common.record.EJBDeployedEvent) KiekerMetadataRecord(kieker.common.record.misc.KiekerMetadataRecord) EJBUndeployedEvent(org.iobserve.common.record.EJBUndeployedEvent) ContainerDeallocationEvent(org.iobserve.common.record.ContainerDeallocationEvent) GCRecord(kieker.common.record.jvm.GCRecord) ServletUndeployedEvent(org.iobserve.common.record.ServletUndeployedEvent) SessionStartEvent(org.iobserve.common.record.SessionStartEvent) SessionEndEvent(org.iobserve.common.record.SessionEndEvent) ContainerAllocationEvent(org.iobserve.common.record.ContainerAllocationEvent) ServerGeoLocation(org.iobserve.common.record.ServerGeoLocation) TraceMetadata(kieker.common.record.flow.trace.TraceMetadata) ServletDeployedEvent(org.iobserve.common.record.ServletDeployedEvent) BeforeOperationEvent(kieker.common.record.flow.trace.operation.BeforeOperationEvent) Before(org.junit.Before)

Aggregations

ServerGeoLocation (org.iobserve.common.record.ServerGeoLocation)2 NetworkInterface (java.net.NetworkInterface)1 UnknownHostException (java.net.UnknownHostException)1 TraceMetadata (kieker.common.record.flow.trace.TraceMetadata)1 AfterOperationEvent (kieker.common.record.flow.trace.operation.AfterOperationEvent)1 BeforeOperationEvent (kieker.common.record.flow.trace.operation.BeforeOperationEvent)1 GCRecord (kieker.common.record.jvm.GCRecord)1 KiekerMetadataRecord (kieker.common.record.misc.KiekerMetadataRecord)1 ContainerAllocationEvent (org.iobserve.common.record.ContainerAllocationEvent)1 ContainerDeallocationEvent (org.iobserve.common.record.ContainerDeallocationEvent)1 EJBDeployedEvent (org.iobserve.common.record.EJBDeployedEvent)1 EJBUndeployedEvent (org.iobserve.common.record.EJBUndeployedEvent)1 ServletDeployedEvent (org.iobserve.common.record.ServletDeployedEvent)1 ServletUndeployedEvent (org.iobserve.common.record.ServletUndeployedEvent)1 SessionEndEvent (org.iobserve.common.record.SessionEndEvent)1 SessionStartEvent (org.iobserve.common.record.SessionStartEvent)1 Before (org.junit.Before)1