Runtime introspection & diagnostics for OutSystems applications.
v1.3.0
Environment Info is a utility extension for OutSystems that exposes server-side environment and runtime details to your application logic. It surfaces information the built-in System module doesn't readily provide — server mode, environment name/key, DNS hostname, Front-End identity, originating client IP, and a full server runtime snapshot — by interfacing directly with the OutSystems.HubEdition.RuntimePlatform and .NET runtime APIs.
OutSystems.HubEdition.RuntimePlatform
Typical uses: environment-aware feature flags, richer diagnostic logging, request auditing, and support tooling.
Quick reference — every action returns its data through output parameters only:
IsProductionEnvironment
GetEnvironmentServerMode
GetEnvironmentServerModes
GetEnvironmentHostname
GetFrontEndName
GetEnvironmentKey
GetEnvironmentName
GetClientIPAddress
GetRuntimeInfo
Inputs: none · Returns: IsProductionEnvironment (Boolean)
Performs a quick boolean check to determine whether the current environment is running in Production mode. Ideal for use directly in If widgets and conditional logic — guarding test-data seeding, verbose logging, or non-Production-only behavior. Returns True only for Production; False for every other mode.
Inputs: none · Returns: ServerMode (ServerMode structure)
ServerMode
Returns the current environment's server mode as a record containing its numeric Id and human-readable Name, read from the active AppInfo.
AppInfo
Inputs: none · Returns: ServerModes (List of ServerMode)
ServerModes
Returns the complete set of server modes supported by the platform. The list is generated by iterating the platform's internal ServerModes enumeration, so it stays accurate as the platform evolves. Useful for populating dropdowns or mapping a mode Id to its name.
Inputs: none · Returns: Hostname (Text)
Hostname
Returns the environment's configured default DNS hostname — for example env-dev.outsystemsenterprise.com — via EspaceProperties.DefaultDnsName. Resolves consistently even in non-HTTP contexts such as Timers and BPT processes, and returns an empty string when no DNS name is configured.
env-dev.outsystemsenterprise.com
EspaceProperties.DefaultDnsName
Inputs: none · Returns: FrontEndName (Text)
FrontEndName
Returns the network name of the specific Front-End server processing the current request. Primarily used for diagnostics, technical logging, and auditing — it lets you pinpoint exactly which Front-End handled a request in multi-server, load-balanced environments.
Inputs: none · Returns: EnvironmentKey (Text)
EnvironmentKey
Returns the unique key (GUID) that identifies the current running environment.
Inputs: none · Returns: EnvironmentName (Text)
EnvironmentName
Returns the display name of the current running environment.
Inputs: none · Returns: IPAddress (Text)
IPAddress
Returns the IP address of the client that issued the current request. The action inspects the X-Forwarded-For header first — recovering the true client IP when traffic passes through a load balancer or reverse proxy — and falls back to the direct connection address otherwise. Returns an empty string outside of an HTTP request (Timers, BPT, async logic).
X-Forwarded-For
Security note: The X-Forwarded-For header is supplied by the client and can be spoofed. Use this value for diagnostics, logging, and auditing — not as the sole basis for security decisions such as IP allow-listing or authentication.
Inputs: none · Returns: RuntimeInfo (RuntimeInfo structure)
RuntimeInfo
Returns a snapshot of the server runtime in a single structure — framework version, operating system, machine name, logical processor count, and process/OS bitness. Designed for support and environment diagnostics, letting you capture the full runtime profile in one call.
Id
Name
CLRVersion
.NET Framework 4.8.4250.0
OSVersion
MachineName
ProcessorCount
Is64BitOS
Is64BitProcess
The extension relies only on platform and standard .NET assemblies — there are no third-party packages to manage.
EspaceProperties
System.Web
HttpContext
System.Runtime.InteropServices.RuntimeInformation
FrameworkDescription