.. default-domain:: chpl .. module:: ServerConfig :synopsis: arkouda server config param and config const ServerConfig ============ **Usage** .. code-block:: chapel use ServerConfig; or .. code-block:: chapel import ServerConfig; arkouda server config param and config const .. enum:: enum Deployment { STANDARD, KUBERNETES } .. enumconstant:: enum constant STANDARD .. enumconstant:: enum constant KUBERNETES .. enum:: enum ObjType { UNKNOWN = -1, ARRAYVIEW = 0, PDARRAY = 1, STRINGS = 2, SEGARRAY = 3, CATEGORICAL = 4, GROUPBY = 5, DATAFRAME = 6, DATETIME = 7, TIMEDELTA = 8, IPV4 = 9, BITVECTOR = 10, SERIES = 11, INDEX = 12, MULTIINDEX = 13 } .. enumconstant:: enum constant UNKNOWN = -1 .. enumconstant:: enum constant ARRAYVIEW = 0 .. enumconstant:: enum constant PDARRAY = 1 .. enumconstant:: enum constant STRINGS = 2 .. enumconstant:: enum constant SEGARRAY = 3 .. enumconstant:: enum constant CATEGORICAL = 4 .. enumconstant:: enum constant GROUPBY = 5 .. enumconstant:: enum constant DATAFRAME = 6 .. enumconstant:: enum constant DATETIME = 7 .. enumconstant:: enum constant TIMEDELTA = 8 .. enumconstant:: enum constant IPV4 = 9 .. enumconstant:: enum constant BITVECTOR = 10 .. enumconstant:: enum constant SERIES = 11 .. enumconstant:: enum constant INDEX = 12 .. enumconstant:: enum constant MULTIINDEX = 13 .. data:: config param MaxArrayDims: int = 1 maximum array dimensionality supported by the server set by 'serverModuleGen.py' based on 'serverConfig.json' .. data:: param SupportsUint8 = true .. data:: param SupportsUint16 = false .. data:: param SupportsUint32 = false .. data:: param SupportsUint64 = true .. data:: param SupportsInt8 = false .. data:: param SupportsInt16 = false .. data:: param SupportsInt32 = false .. data:: param SupportsInt64 = true .. data:: param SupportsFloat32 = false .. data:: param SupportsFloat64 = true .. data:: param SupportsComplex64 = false .. data:: param SupportsComplex128 = false .. data:: param SupportsBool = true .. function:: proc isSupportedType(type t) param: bool .. function:: proc isSupportedDType(dt: DType): bool .. data:: config const deployment = Deployment.STANDARD Type of deployment, which currently is either STANDARD, meaning that Arkouda is deployed bare-metal or within an HPC environment, or on Kubernetes, defaults to Deployment.STANDARD .. data:: config const trace = true Trace logging flag .. data:: config var logLevel = LogLevel.INFO Global log level flag that defaults to LogLevel.INFO .. data:: config var logChannel = LogChannel.CONSOLE Global log channel flag that defaults to LogChannel.CONSOLE .. data:: config var logCommands = false Indicates whether arkouda_server commands should be logged. .. data:: config const ServerPort = 5555 Port for zeromq .. data:: config const perLocaleMemLimit = 90 Memory usage limit -- percentage of physical memory .. data:: config param RSLSD_bitsPerDigit = 16 Bit width of digits for the LSD radix sort and related ops .. data:: config param arkoudaVersion: string = "Please set during compilation" Arkouda version .. data:: config const serverConnectionInfo: string = try! getEnv("ARKOUDA_SERVER_CONNECTION_INFO", "") Write the server `hostname:port` to this file. .. data:: config const autoShutdown = false Flag to shut down the arkouda server automatically when the client disconnects .. data:: config const serverInfoNoSplash = false Flag to print the server information on startup .. data:: var serverHostname: string = try! get_hostname() Hostname where I am running .. function:: proc get_hostname(): string .. function:: proc getConnectHostname() throws * Retrieves the hostname of the locale 0 arkouda_server process, which is useful for * registering Arkouda with cloud environments such as Kubernetes. .. function:: proc getChplVersion() throws * Returns the version of Chapel arkouda was built with .. data:: const chplVersionArkouda = try! getChplVersion() Indicates the version of Chapel Arkouda was built with .. data:: config const authenticate: bool = false Indicates whether token authentication is being used for Akrouda server requests .. data:: config param regexMaxCaptures = 20 Determines the maximum number of capture groups returned by Regex.matches .. data:: const saveUsedModules: bool = false .. data:: const usedModulesFmt: string = "cfg" .. data:: const scLogger = new Logger(lLevel, lChannel) .. function:: proc createConfig() .. function:: proc getConfig(): string .. function:: proc getEnv(name: string, default = ""): string throws .. function:: proc getPhysicalMemHere() Get an estimate for how much memory can be allocated. Based on runtime with chpl_comm_regMemHeapInfo if using a fixed heap, otherwise physical memory .. function:: proc getByteorder() throws Get the byteorder (endianness) of this locale .. function:: proc getMemUsed() Get the memory used on this locale .. function:: proc getMemLimit(): uint Get the memory limit for this server run returns either the memMax if set or a percentage of the physical memory per locale .. data:: var memHighWater: uint = 0 .. function:: proc overMemLimit(additionalAmount: int) throws check used + amount is over the memory limit throw error if we would go over the limit .. method:: proc string.splitMsgToTuple(param numChunks: int) .. method:: proc string.splitMsgToTuple(sep: string, param numChunks: int) .. method:: proc bytes.splitMsgToTuple(param numChunks: int) .. method:: proc bytes.splitMsgToTuple(sep: bytes, param numChunks: int) .. function:: proc getEnvInt(name: string, default: int): int .. data:: const Q = "\"" * String constants for use in constructing JSON formatted messages .. data:: const QCQ = Q + ":" + Q .. data:: const BSLASH = "\\" .. data:: const ESCAPED_QUOTES = BSLASH + Q .. function:: proc appendToConfigStr(key: string, val: string)