Árvore de páginas

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

Exemplo 1
user function exemplo()
  aInfo := GetUserInfoArray() // Resultado: (Informações dos processos)
  varinfo("Threads:",aInfo)
Return
Exemplo 2
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
  • Sem rótulos