Histórico da Página
| Composition Setup |
|---|
import.css=/download/attachments/327912/newLayout.css |
...
| Pagetitle | ||
|---|---|---|
|
...
...
...
|
Retorna
...
um
...
array
...
multidimensional
...
com
...
as
...
informações
...
de
...
cada
...
um
...
dos processos
...
em
...
execução
...
GetUserInfoArray ( ) --> aRet
...
no
| Inclusão de trecho | ||||||
|---|---|---|---|---|---|---|
|
.
Sintaxe
| Bloco de código | ||
|---|---|---|
| ||
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
| Nota | ||||
|---|---|---|---|---|
| ||||
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
, caso utilizadoInclusão de trecho DBAccess DBAccess nopanel true 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
Inclusão de trecho Application Server Application Server nopanel true - (*)
...
- Este elemento em builds anteriores, somente retornava caso o monitoramento de memória
...
- do
estivesse habilitado na chave DebugThreadUsedMemory, da seçãoInclusão de trecho Application Server Application Server nopanel true
...
- 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
...
ativo, esse elemento conterá uma string em branco.Inclusão de trecho DBAccess DBAccess nopanel true - (***) 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
, a função retornará apenas os dados doInclusão de trecho Broker Broker nopanel true
secundário em que foi executado.Inclusão de trecho Application Server Application Server nopanel true
Exemplos
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
user function exemplo() Local aInfo := GetUserInfoArray() // Resultado: (Informações dos processos) varinfo("Threads:",aInfo)Advanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server
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
| Inclusão de trecho | ||||||
|---|---|---|---|---|---|---|
|