Retorna um array multidimensional com as informações de cada um dos processos em execução no TOTVS | Application Server.
.
Sintaxe
GetUserInfoArray( [ lShowMoreInfo ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
|---|---|---|---|---|
lShowMoreInfo | logical | Se informado verdadeiro (.T.), retorna mais informações por thread (apenas 4GL/Telnet 4GL). |
Retorno
Nome | Tipo | Descrição |
|---|---|---|
aRet | array | Retorna um array multidimensional com os números e dados de cada uma das threads. |
Observações
Atenção
O parâmetro lShowMoreInfo está disponível em builds superiores a 7.00.131227A e deve ser utilizado apenas para threads 4GL (Logix).
- Esta função é um espelho dos dados que aparecem no TOTVS Monitor.
O array retornado possui a seguinte estrutura:
Posição
Tipo
Descrição
aInfo[x][01]
C
Nome de usuário
aInfo[x][02]
C
Nome da máquina local
aInfo[x][03]
N
ID da Thread
aInfo[x][04]
C
Servidor (caso esteja usando Balance; caso contrário é vazio)
aInfo[x][05]
C
Nome da função que está sendo executada
aInfo[x][06]
C
Ambiente(Environment) que está sendo executado
aInfo[x][07]
C
Data e hora da conexão
aInfo[x][08]
C
Tempo em que a thread está ativa (formato hh:mm:ss)
aInfo[x][09]
N
Número de instruções
aInfo[x][10]
N
Número de instruções por segundo
aInfo[x][11]
C
Observações
aInfo[x][12]
N
(*) Memória consumida pelo processo atual, em bytes
aInfo[x][13]
C
(**) SID - ID do processo em uso no TOTVS | DBAccess, caso utilizado
aInfo[x][14]
N
(***)Identificador de processo do ctreeserver e/ou boundserver
aInfo[x][15]
C
(***)Tipo da thread (JOB, WEB, WEBEX, TELNET, SmartClient Standard, Smartclient HTML, Smartclient ActiveX, ...)
aInfo[x][16]
C
(***)Informação de tempo de inatividade de cada thread
TOTVS | Application Server
- (*) Este elemento em builds anteriores, somente retornava caso o monitoramento de memória do TOTVS | Application Server estivesse habilitado na chave DebugThreadUsedMemory, da seção General. Nas builds a partir da 081215P, esta coluna sempre será retornada, mas caso o monitoramento de memória não esteja ativo, o valor sempre será -1 (menos um).
- (**) Esta coluna será retornada em builds superiores a 081215P. Caso o processo atual não tenha conexão com o TOTVS | DBAccess ativo, esse elemento conterá uma string em branco.
- (***) Estas 3 informações só estão disponíveis em builds superiores a 7.00.131227A.
- As informações retornadas são espelho dos processos em execução no servidor onde a função foi executada, independente do environment ou tipo de programa, inclusive Working Thread WEBEX, Webservices e Jobs.
- No ambiente com balanceamento de carga (Load Balance), a função mantém o mesmo comportamento, somente retornando as informações dos processos em execução no serviço secundário onde foi executada. Mas, se essa função for executada diretamente no servidor Primário do serviço de balanceamento, utilizando o serviço de RPC, o retorno será as informações de todos os processos em execução no balance e em todos os secundários relacionados e on-line naquele determinado momento.
- Caso o balanceamento seja feito via TOTVS | Broker, a função retornará apenas os dados do TOTVS | Application Server secundário em que foi executado.
Exemplos
user function exemplo()
Local aInfo := GetUserInfoArray() // Resultado: (Informações dos processos)
varinfo("Threads:",aInfo)
Return
User Function exemplo4gl()
Local i
Local aInfo := GetUserInfoArray(.F.)
conout("GetUserInfoArray com parametro .F.")
for i := 1 to Len(aInfo)
conout("ThreadID:" + cvaltochar(aInfo[i][3]) + " Program:" + aInfo[i][5] + " Obs:" + aInfo[i][11])
next
//Resultado:
//[Thread 4920] GetUserInfoArray com parametro .F.
//[Thread 4920] ThreadID:4920 Program:U_GINFARR Obs:
//[Thread 4920] ThreadID:6392 Program:MAN0110.4GL Obs:
//[Thread 4920] ThreadID:6428 Program:MEN1100 Obs:
aInfo := GetUserInfoArray(.T.)
conout("GetUserInfoArray com parametro .T.")
for i := 1 to Len(aInfo)
conout("ThreadID:" + cvaltochar(aInfo[i][3]) + " Program:" + aInfo[i][5] + " Obs:" + aInfo[i][11])
next
//Resultado:
//[Thread 4920] GetUserInfoArray com parametro .T.
//[Thread 4920] ThreadID:4920 Program:U_GINFARR Obs:
//[Thread 4920] ThreadID:6392 Program:MAN0110.4GL Obs:Parent=1
//[Thread 4920] ThreadID:6392 Program:RUN4GLPROCESS.4GL Obs:Parent=0
//[Thread 4920] ThreadID:6428 Program:MEN1100 Obs:
Return
Abrangência
TOTVS | Application Server 13.0.0.0