Informações de registro e tempo de execução da linguagem R

Este exemplo explora a funcionalidade de registro que pode não ser usada normalmente.

Código

O registro em log pode ajudá-lo a rastrear a execução de um AE. O AE deve ser registrado com uma máscara de registro e o registro deve ser ativado por meio do nzudxdbg. As informações de tempo de execução fornecem estatísticas sobre o sistema NPS, incluindo o número de fatias de dados, S-Blades e local de execução.

Digite o seguinte código no arquivo /tmp/logrun.R.

nz.fun <- function(){
    getNext()
    logMessage(NZ.DEBUG, "before getRuntime()")
    r <- getRuntime()
    apply(cbind(names(r),as.character(r)), 1, function(X){
        setOutput(0, X[1])
        setOutput(1, X[2])
        outputResult()
    })
    logMessage(NZ.DEBUG, "after getRuntime()")
}

Compilação

Compile o código:

/nz/export/ae/utilities/bin/compile_ae --language r --template compile \
     --version 3 --db dev --user nz /tmp/logrun.R

Registro

Registre o exemplo usando as opções --mem e --mask. A opção --mask ativa o registro para DEBUG e a opção --mem define as informações de tempo de execução da memória.

/nz/export/ae/utilities/bin/register_ae --language r --version 3 \
     --template udtf --exe logrun.R --sig "logrun(VARARGS)" \
     --return "TABLE(name VARCHAR(1000), value VARCHAR(1000))" \
     --db dev --user nz --level 4 --mask DEBUG

Executando

Antes de executar, ative o registro executando nzudxdbg:

>nzudxdbg
Processing 1 spus
.
done
Processing host
done

Execute a consulta no nzsql:

SELECT * FROM TABLE WITH FINAL(logrun());
          NAME          | VALUE
------------------------+-------
 data.slice.id          | 0
 transaction.id         | 21814
 hardware.id            | 0
 number.data.slices     | 4
 number.spus            | 1
 suggested.memory.limit | 0
 locus                  | 1
 adapter.type           | 1
 user.query             | 1
 session.id             | 16231
(10 rows)

O registro do sistema NPS aparece na janela em que o sistema NPS foi iniciado:

04-06-11 09:48:54 (dbos.14577) [d,udx ] before getRuntime()
04-06-11 09:48:54 (dbos.14577) [d,udx ] after getRuntime()