Package net.snowflake.client.internal.core.minicore

## Class MinicoreTelemetry

- java.lang.Object
- - net.snowflake.client.internal.core.minicore.MinicoreTelemetry

    @SnowflakeJdbcInternalApi
    public class MinicoreTelemetry
    extends Object

Telemetry data for minicore library loading and platform information.

This class encapsulates all telemetry information related to minicore that should be included in the CLIENT_ENVIRONMENT section of the login-request.

Fields:

- ISA: Instruction Set Architecture (e.g., "amd64", "arm64")
- CORE_VERSION: Result of sf_core_full_version() if successful
- CORE_FILE_NAME: Binary library file name that the driver tried to load
- CORE_LOAD_ERROR: One of three error states from `MinicoreLoadError`
- loadLogs: List of log messages with detailed error info from the loading process

Note: OS and OS_VERSION are already set by SessionUtil.createClientEnvironmentInfo()

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static MinicoreTelemetry` `create()` Create telemetry based on current Minicore state.
`static MinicoreTelemetry` `fromLoadResult​(MinicoreLoadResult loadResult)` Create telemetry from a successful or failed load result.
`Map<String,​Object>` `toClientEnvironmentTelemetryMap()`
`com.fasterxml.jackson.databind.node.ObjectNode` `toInBandTelemetryNode()`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Method Detail

#### create

    public static MinicoreTelemetry create()

Create telemetry based on current Minicore state.

Handles three error cases:

- Disabled via env var: `MinicoreLoadError.DISABLED`
- Still loading: `MinicoreLoadError.STILL_LOADING`
- Failed to load: `MinicoreLoadError.FAILED_TO_LOAD`

#### fromLoadResult

    public static MinicoreTelemetry fromLoadResult​(MinicoreLoadResult loadResult)

Create telemetry from a successful or failed load result.

#### toClientEnvironmentTelemetryMap

    public Map<String,​Object> toClientEnvironmentTelemetryMap()

#### toInBandTelemetryNode

    public com.fasterxml.jackson.databind.node.ObjectNode toInBandTelemetryNode()

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`