Retorna um array multidimensional com as informações de cada um do processos em execução no Protheus 8 Server e/ou Application Server.
Sintaxe
GetUserInfoArray( [ lShowMoreInfo* ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
lShowMoreInfo* | lógico | Se informado verdadeiro (.T.), retorna mais informações por thread (apenas 4GL/Telnet 4GL). |
|
|
Retorno
Nome | Tipo | Descrição |
---|---|---|
aRet | vetor | Retorna um array multidimensional com os números e dados de cada uma das threads. |
Observações
- O parâmetro lShowMoreInfo só está disponível em builds superiores a 7.00.131227A e só deve ser utilizado 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 TOPConnect/TOTVSDBAccess, 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 |
(*) Este elemento em builds anteriores, somente retornava caso o monitoramento de memória, do Application Server, estivesse habilitado na chave DebugThreadUsedMemory, da seção [General]. Nas builds atuais, 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 TOPConnect/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, a função mantém o mesmo comportamento, somente retornando as informações dos processos em execução no serviço slave onde foi executada. Mas, se essa função for executada diretamente em um serviço de balanceamento, o retorno será as informações de todos os processos em execução no balance e em todas as slaves relacionadas e on-line naquele determinado momento.
Exemplos
user function exemplo() aInfo := GetUserInfoArray() // Resultado: (Informações dos processos) varinfo("Threads:",aInfo) Return
User Function exemplo4gl() Local i 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