Árvore de páginas

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

  • Sem rótulos