> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Model

> GermainUX's Data Model is highly customizable, allowing users to define their own objects and structure within the system.

Availability
2022.1 or later

> **[Feature](#feature)**
>
> Customizable dimensions and facts

> **[Configuration](#configuration)**
>
> Define your data structure

## Feature

GermainUX's Data Model is highly customizable, allowing users to define their own objects and structure within the system.

The Germain Data Model comprises various dimensions and facts that organize and represent the data stored in the system. While the specific structure of the data model will depend on the organization's requirements and configurations, below is a sample representation of what the Germain Data Model may look like:

### Dimensions

* User: Represents information about users, such as user ID, name, role, or any other relevant user attributes.
* Application: Contains details about applications being monitored, including application ID, name, version, and other relevant information.
* Server: Represents server-related information, such as server ID, name, location, or any other server attributes.
* Transaction: Contains details about individual transactions, such as transaction ID, timestamp, duration, status, or any other transaction-specific information.
* Error: Represents error-related information, including error ID, error message, error type, severity, and any other relevant error attributes.
* Performance: Contains performance-related metrics, such as response time, latency, throughput, or any other performance indicators.

### Facts

* User Activity: Captures user interactions within the application, such as clicks, page views, form submissions, or any other user activities.
* Application Performance: Represents performance metrics specific to applications, such as average response time, error rate, or any other application performance indicators.
* Server Performance: Contains server-related performance metrics, including CPU usage, memory usage, disk space, or any other server performance measurements.
* Transaction Performance: Captures performance metrics for individual transactions, such as transaction duration, execution time, or any other transaction-specific performance data.
* Error Logs: Stores information about errors, including error details, timestamps, severity, or any other error-related data.

The Germain Data Model provides a structured framework for organizing and analyzing data collected by GermainUX. Users can further customize the data model to align with their specific monitoring needs and business requirements.

To access the complete view of the data model in your Germain instance, you can use the provided URL: **https\://INSTANCE\_NAME/query/metadata/types.** This will provide a comprehensive overview of the data model, including all defined dimensions and facts within your Germain implementation.

Please note that the URL provided is a placeholder and should be replaced with the actual URL of your Germain instance.

Also note that when a value is “null”, GermainUX interpretes it as "false" and “not null” as "true" for boolean fields like "drop-off".

## Configuration

### Dimensions

**TimeDimension**

* time.year
* time.month
* time.day
* time.hour
* time.minute

**SystemDimension**

* system.name
* system.hostname
* system.type
* system.environment
* system.location.continent
* system.location.country
* system.location.region
* system.location.city

**TargetDimension**

* target.name
* target.hostname
* target.type
* target.environment
* target.location.continent
* target.location.country
* target.location.region
* target.location.city

**UserDimension**

* user.name
* user.department
* user.group
* user.role
* user.type
* user.location.continent

> **Show all 9**
>
> * user.location.country
> * user.location.region
> * user.location.city

**UserAgentDimension**

* 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

**ApplicationDimension**

* application.name
* application.component

**DatabaseDimension**

* database.name
* database.flavor

**SiebelDimension**

* siebel.screen
* siebel.view
* siebel.applet
* siebel.command

**RefererDimension**

* ref.url
* ref.type
* ref.subtype

**MobileDeviceDimension**

* device.manufacturer
* device.brand
* device.model
* device.os
* device.osName
* device.osVersion

> **Show all 12**
>
> * 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)**

* Time
* System
* User
* User Agent
* Application
* [Hierarchy](#)

> **Show all 20**
>
> * type
> * name
> * sessionId
> * status
> * currentStep
> * anyStepOutside
> * businessObject
> * color
> * progress
> * metric1
> * metric2
> * metric3
> * metric4
> * metric5

**GenericBusinessProcessStep (steps for generic BPs)**

* Time
* System
* User
* User Agent
* Application
* [Hierarchy](#)

> **Show all 19**
>
> * type
> * name
> * bpId
> * bpClass
> * label
> * prevStepLabel
> * factId
> * factClass
> * sessionId
> * status
> * outsideStep
> * businessObject
> * color

**LongLivedBusinessProcess**

* same as GenericBusinessProcess

**LongLivedBusinessProcessStep**

* same as GenericBusinessProcessStep

**SiebelBusinessProcess (Siebel related BPs)**

* same as [GenericBusinessProcess](#) + additional attributes:
* Siebel

**SiebelBusinessProcessStep (Siebel steps for generic BPs)**

* same as [GenericBusinessProcessStep](#)+ additional attributes:
* [Siebel](#)

**GenericEvent**

* Time
* System
* User
* Database
* Application
* type

> **Show all 12**
>
> * name
> * pid
> * tid
> * sessionId
> * businessObject
> * color

**GenericMetric**(e.g.CPU Usage)

* Time
* System
* Database
* Application
* type
* name

> **Show all 10**
>
> * pid
> * tid
> * sessionId
> * color

**GenericTransaction**

* Time
* System
* User
* Database
* Application
* type

> **Show all 13**
>
> * name
> * pid
> * tid
> * sessionId
> * status
> * businessObject
> * color

**MobileEvent**

* Time
* Device
* User
* Application
* Network
* name
* pid
* sessionId
* businessObject
* color

**MobileMetric**

* Time
* Device
* User
* Application
* Network
* name
* pid
* sessionId
* businessObject
* color

**MobileTransaction**

* Time
* Device
* User
* Application
* Network
* name
* pid
* sessionId
* businessObject
* color

**MobileProcessMetric**

* Time
* Device
* Application
* Network
* name
* pid
* state
* color

**UxConsoleEvent**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 18**
>
> * [Page](#)
> * [Http](#)
> * [Hierarchy](#)
> * type
> * name
> * level
> * message
> * sessionId
> * businessObject
> * details
> * color
> * success

**UxEvent**(e.g. Mouse click)

* Time
* System
* Target
* User
* User Agent
* Application

> **Show all 18**
>
> * Page
> * Http
> * Hierarchy
> * type
> * name
> * domName
> * domLabel
> * displayedName
> * sessionId
> * businessObject
> * color
> * success

**UxMetric**(e.g. Response size)

* Time
* System
* Target
* User
* User Agent
* Application

> **Show all 15**
>
> * [Page](#)
> * [Http](#)
> * [Hierarchy](#)
> * type
> * name
> * sessionId
> * businessObject
> * color
> * value

**UxTransaction**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 15**
>
> * [Page](#)
> * [Http](#)
> * [Hierarchy](#)
> * type
> * name
> * sessionId
> * businessObject
> * color
> * duration

**UxChangeTransaction**(user input change transaction)

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 18**
>
> * [Page](#)
> * [Hierarchy](#)
> * type
> * name
> * domName
> * domLabel
> * domValue
> * sessionId
> * businessObject
> * duration
> * success
> * color

**UserClick**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 29**
>
> * [Page](#)
> * [Hierarchy](#)
> * [Campaign](#)
> * type
> * name
> * correlationId
> * sessionId
> * businessObject
> * label
> * duration
> * networkDuration
> * renderDuration
> * scriptDuration
> * idleDuration
> * firstInputDuration
> * largestPaintDuration
> * longestTaskDuration
> * domProcessDuration
> * domLoadDuration
> * fullPage
> * memoryUsage
> * success
> * color

**UxSession**(UX session replay data point)

* Time
* System
* Target
* User
* User Agent
* Application

> **Show all 25**
>
> * LandingPage
> * ExitPage
> * [Campaign](#)
> * [Ref](#)
> * type
> * name
> * correlationId
> * sessionId
> * returningUser
> * duration
> * activeDuration
> * errorCount
> * positiveFeedbackCount
> * negativeFeedbackCount
> * feedbackCommentCount
> * feedbackComments
> * pageVisited
> * status
> * color

**OutboundHttpRequest** (HTTP request transaction)

* Time
* System
* Target
* User
* User Agent
* Application

> **Show all 28**
>
> * 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**

* Time
* System
* Source
* User
* User Agent
* Application

> **Show all 15**
>
> * [Http](#)
> * name
> * sessionId
> * success
> * businessObject
> * color
> * duration
> * requestSize
> * responseSize

**SiebelTransaction** (base model for other Siebel related transactions)

* Time
* System
* User
* Database
* Application
* Siebel

> **Show all 15**
>
> * type
> * name
> * pid
> * tid
> * sessionId
> * businessObject
> * success
> * taskId
> * color

**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)

* Time
* System
* Application
* type
* name
* pid
* color

**ProcessMetric** (OS process metric)

* Time
* System
* type
* name
* pid
* color

**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)

* Time
* System
* type
* name
* pid
* tid
* state
* color

**JavaTransaction**

* Time
* System
* User
* Application
* className
* name
* pid
* tid
* sessionId
* businessObject
* success
* color

**JavaHttpRequestTransaction**

* same as JavaTransaction + additional attributes:
* User Agent
* method
* status
* path
* query
* ip
* headers

**JavaDatabaseTransaction**

* same as JavaTransaction + additional attributes:
* Database
* queryId
* queryText

**JavaEvent**

* Time
* System
* User
* Application
* className
* name
* pid
* tid
* sessionId
* businessObject
* success
* color

**SalesforceTransaction**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 21**
>
> * type
> * name
> * sessionId
> * success
> * color
> * duration
> * cpuTime
> * databaseDuration
> * requestType
> * eventSource
> * requestId
> * userId
> * requestStatus
> * entityName
> * details

**SalesforceApexTransaction**

* same as SalesforceTransaction + additional attributes:
* entryPoint
* uri
* triggerName
* triggerType
* quiddity

> **Show all 11**
>
> * longRunningProcess
> * networkDuration
> * soqlQueryCount
> * rowsProcessed
> * fieldCount

**SalesforceAuditLog**

* recordId
* parentId
* dataType
* fieldName
* details
* aggLevel1

> **Show all 29**
>
> * aggLevel2
> * aggLevel3
> * aggLevel4
> * aggLevel5
> * aggLevel6
> * aggLevel7
> * aggLevel8
> * aggLevel9
> * aggLevel10
> * rawLevel1
> * rawLevel2
> * rawLevel3
> * rawLevel4
> * rawLevel5
> * rawLevel6
> * rawLevel7
> * rawLevel8
> * rawLevel9
> * rawLevel10
> * oldValue
> * newValue
> * oldNumericValue
> * newNumericValue

**SalesforceDatabaseTransaction**

* same as [SalesforceTransaction](#) + additional attributes:
* action
* query
* search
* filter
* orderBy

> **Show all 13**
>
> * parentCallout
> * queryOffset
> * executionDuration
> * fetchDuration
> * rowCount
> * rowsFetchedCount
> * byteCount

**SalesforceEvent**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 16**
>
> * [Http](#)
> * name
> * queriedEntities
> * query
> * sessionId
> * businessObject
> * details
> * metric1
> * metric2
> * metric3

**SalesforceHttpRequest**

* same as [SalesforceTransaction](#) + additional attributes:
* Http
* Ref
* mimeType
* firstRequest
* requestSize

> **Show all 11**
>
> * responseSize
> * databaseCpuTime
> * databaseBlockCount
> * rowsProcessed
> * fieldCount

**SalesforceUiEvent**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 25**
>
> * componentName
> * connectionType
> * pageAppName
> * pageContext
> * entityName
> * uri
> * userId
> * requestId
> * sessionId
> * uiEventId
> * uiEventSource
> * uiEventType
> * targetUiElement
> * parentUiElement
> * grandparentUiElement
> * userType
> * name
> * details
> * duration

**SalesforceUserTransaction**

* same as [SalesforceTransaction](#) + additional attributes:
* apiType
* uri

**ShopifyEvent**

* [Time](#)
* [System](#)
* [Target](#)
* [User](#)
* [User Agent](#)
* [Application](#)

> **Show all 37**
>
> * [Page](#)
> * [Hierarchy](#)
> * [Campaign](#)
> * [Ref](#)
> * type
> * name
> * sessionId
> * businessObject
> * success
> * color
> * cartId
> * productId
> * productColor
> * productName
> * productType
> * productVariantId
> * productVariantName
> * silhouette
> * checkoutId
> * orderId
> * customerId
> * currency
> * converted
> * abandoned
> * discounted
> * returningUser
> * details
> * discount
> * itemCount
> * uniqueItemCount
> * value

## Get Help

> **[Contact GermainUX Support](https://docs.germainux.com/main/support.md)**
>
> The Germain Team can help you set this up.

> **Can't find what you need?**
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.