Feature

Germain Data Model is customizable and objects stored in it as well.

Data Model

Below is sample of what the Germain Data Model may look like, including Dimensions and Facts.

For the complete view of your data model, use this url: https://INSTANCE_NAME/germainapm/query/metadata/types

Dimensions

Time

  • time.year

  • time.month

  • time.day

  • time.hour

  • time.minute

System

  • system.name

  • system.hostname

  • system.type

  • system.environment

  • system.location.continent

  • system.location.country

  • system.location.region

  • system.location.city

Target

  • target.name

  • target.hostname

  • target.type

  • target.environment

  • target.location.continent

  • target.location.country

  • target.location.region

  • target.location.city

User

  • user.name

  • user.department

  • user.group

  • user.role

  • user.type

  • user.location.continent

  • user.location.country

  • user.location.region

  • user.location.city

UserAgent

  • userAgent.device

  • userAgent.family

  • userAgent.browser

  • userAgent.os

PageDimension

  • page.path

  • page.query

  • page.title

CampaignDimension

  • campaign.name

  • campaign.source

  • campaign.medium

  • campaign.term

  • campaign.content

HierarchyDimension

  • hierarchy.level1

  • hierarchy.level2

  • hierarchy.level3

  • hierarchy.level4

HttpRequestDimension

  • http.path

  • http.query

  • http.method

  • http.status

  • http.message

Application

  • application.name

  • application.component

Database

  • database.name

  • database.flavor

Siebel

  • siebel.screen

  • siebel.view

  • siebel.applet

  • siebel.command

Referer

  • ref.url

  • ref.type

  • ref.subtype

MobileDevice

  • device.manufacturer

  • device.brand

  • device.model

  • device.os

  • device.osName

  • device.osVersion

  • device.sdkVersion

  • device.resolution

  • device.location.continent

  • device.location.country

  • device.location.region

  • device.location.city

NetworkDimension

  • network.type

  • network.connectionType

  • network.fastConnection

  • network.ip

Facts

GenericBusinessProcess (generic BPs)

GenericBusinessProcessStep (steps for generic BPs)

SiebelBusinessProcess (Siebel related BPs)

  • same as GenericBusinessProcess + additional attributes:

  • Siebel

SiebelBusinessProcessStep (Siebel steps for generic BPs)

  • same as GenericBusinessProcessStep + additional attributes:

  • Siebel

GenericEvent 

GenericMetric (e.g.CPU Usage)

GenericTransaction

MobileEvent

MobileMetric

MobileTransaction

MobileProcessMetric

UxEvent (e.g. Mouse click)

UxMetric (e.g. Response size)

UxTransaction

UxChangeTransaction (user input change transaction)

UxSession (UX session replay data point)

OutboundHttpRequest (HTTP request transaction)

  • Time

  • System

  • Target

  • User

  • User Agent

  • Application

  • Http

  • type

  • name

  • sessionId

  • success

  • businessObject

  • color

  • requestBody

  • responseBody

  • cached

  • compressed

  • aborted

  • duration

  • redirectDuration

  • stalledDuration

  • dnsDuration

  • connectDuration

  • sslDuration

  • waitDuration

  • downloadDuration

  • responseSize

  • activeDuration

OutboundDocumentRequest(HTTP request transaction)

  • same as OutboundHttpRequest

  • domProcessDuration

  • domLoadDuration

SiebelOutboundHttpRequest (Siebel HTTP request transaction)

  • same as OutboundHttpRequest + additional attributes:

  • Siebel

InboundHttpRequest

SiebelTransaction (base model for other Siebel related transactions)

SiebelWorkflowTransaction

  • same as SiebelTransaction

SiebelWorkflowStepTransaction

  • same as SiebelTransaction

SiebelWorkflowServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelWebServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelWebEngineTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelUserTransaction

  • same as SiebelTransaction + additional attributes:

  • target

SiebelToolkitServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelTaskServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelStateServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelDatabaseTransaction

  • same as SiebelTransaction + additional attributes:

  • queryId

SiebelServiceTransaction

  • same as SiebelTransaction + additional attributes:

  • method

SiebelErrorEvent

  • same as GenericEvent + additional attributes:

  • Siebel

  • taskId

ProfilerSnapshot (CPU snapshot for Java and .net)

ProcessMetric (OS process metric)

NetworkMetric (network latency metric)

  • Time

  • Source (attribute starts with source. but has same attributes as System)

  • Target (attribute starts with target. but has same attributes as System)

  • type

  • name

  • pid

  • color

ThreadMetric (OS thread metric)

JavaTransaction

JavaHttpRequestTransaction

  • same as JavaTransaction + additional attributes:

  • User Agent

  • method

  • status

  • path

  • query

  • ip

  • headers

JavaDatabaseTransaction

  • same as JavaTransaction + additional attributes:

  • Database

  • queryId

  • queryText

JavaEvent

Defining a Portlet Constraint


A basic constraint is defined as 

(<model-attribute> == '<value>')
CODE

Where <model-attribute> is a specific model attribute from an object and <value> is the value of the constraint. For example, if there is a user with the username jsmith, then in order to limit the data of a portlet to just data associated with jsmith, you would specify

(user.name == 'jsmith')
CODE

You can create specify more than one member using the following

(user.name == 'jsmith') || (user.name == 'bjones')
CODE

This is essentially asking for data associated with jsmith or bjones.
If you need to constrain more than one dimension the syntax is as follows

((user.name == 'jsmith') || (user.name == 'bjones')) && (application.name == 'Siebel')
CODE

Now we're specifying jsmith or bjones (users) and Siebel (application).


Defining a Portlet Pivot

The syntax for a pivot is similar but you only need to specify model attribute, for example

user.role
CODE

This would pivot the data all user roles.

Feature available in Germain v2022.2 or later