Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

English

Glossário

As palavras que estes guias usam, cada uma explicada para quem a vê pela primeira vez. Uma palavra em itálico tem a sua própria entrada. Os termos ficam em inglês quando é assim que aparecem no código.

Backend

A parte do navegador com que o gráfico desenha: WebGPU onde o navegador tem, WebGL2 onde não tem, e um canvas 2D desenhado na CPU quando não tem nenhum dos dois. O gráfico escolhe o melhor sozinho; todo backend desenha o mesmo quadro.

Base

A largura de tempo dos buckets mais finos da pirâmide, o seu nível 0 — um segundo por padrão. Escolha mais ou menos o espaçamento dos seus pontos: veja a pirâmide.

Bucket

Um resumo dos pontos de um trecho de tempo em oito números: o tempo e o valor do primeiro e do último ponto, o menor e o maior valor, quantos pontos, e a soma dos pesos. Dois buckets vizinhos se juntam num só sem voltar aos pontos.

ABI em C

A Application Binary Interface: como um programa compilado chama uma biblioteca — que funções existem, e como os argumentos ficam na memória. O nonius-capi dá ao Nonius uma em C, então qualquer linguagem que chama C pode usá-lo. O número de versão muda quando esse arranjo muda.

Coluna

Uma coluna de pixels do gráfico. Uma vista distribui o seu intervalo de tempo pelas colunas, e o gráfico lê um resumo por coluna.

CORS

Cross-Origin Resource Sharing: a regra pela qual o navegador deixa uma página ler um servidor em outro endereço. O servidor diz quem pode, em cabeçalhos; o nonius-server permite qualquer página.

Crate

Um pacote Rust, publicado no crates.io. O Nonius são sete deles, do nonius-format (os bytes) ao nonius-server (o programa).

Pixel do dispositivo e razão de pixels

Os pixels da própria tela. Uma página é diagramada em pixels CSS; numa tela nítida, um pixel CSS são dois ou três pixels do dispositivo, a sua razão de pixels. O gráfico desenha em pixels do dispositivo, então as linhas ficam nítidas.

ETag

Uma etiqueta curta que o servidor dá a uma resposta — o nonius-server usa um hash dos bytes. Um cliente que já tem a resposta pergunta de novo com a etiqueta e recebe 304 Not Modified, sem corpo, se nada mudou.

Expoente

Veja escala.

Quadro

Dois sentidos. Na tela, uma imagem que o gráfico desenha — sessenta por segundo enquanto a pessoa arrasta. Num feed ao vivo, uma mensagem numerada que traz pontos novos.

Lacuna

O maior tempo entre dois pontos que a linha ainda liga. Além dele, a linha quebra. Por padrão todo ponto é ligado; você define a lacuna pelo que sabe dos seus dados.

Nível

Uma camada da pirâmide. Os buckets do nível 0 têm a largura da base; cada nível acima é quatro vezes mais largo.

Feed ao vivo

Pontos enviados conforme acontecem, por um WebSocket, em quadros numerados. Um quadro que a rede perde é notado pelo número que falta e pedido de novo.

Metadados

A descrição de uma série, como um servidor a responde em JSON: o intervalo de tempo, a escala, a pirâmide, o último ponto. O gráfico os lê antes de qualquer tile.

NSB1

O formato de arquivo de série do Nonius: as três colunas dos pontos (tempo, valor, peso), a escala e uma soma de verificação, num contêiner cujos primeiros bytes são NONIUSB1. É lido onde cai na memória, sem etapa de decodificação. O arquivo costuma terminar em .nsb.

Pick

Achar o ponto embaixo do cursor: o gráfico faz isso para a mira, e um servidor responde /pick para uma página que mostra a sua imagem.

Ponto

A única coisa que todo pacote recebe: t, v e w, três inteiros — um tempo em nanossegundos desde 1970 (UTC), um valor, um peso.

Protocolo

As regras para perguntar a um servidor sobre uma série por HTTP: que endereços existem e que bytes cada um responde. Escrito para ser implementado sem o código do Nonius; o nonius-server é a referência.

Pirâmide

Uma série resumida em várias larguras de tempo, cada nível quatro vezes mais largo que o de baixo, para que uma vista de qualquer tamanho leia alguns milhares de buckets em vez de todos os pontos — e desenhe exatamente a mesma linha.

Arquivo de pirâmide

Uma série e a sua pirâmide construída num arquivo só, guardadas nas colunas do próprio protocolo. Um servidor o mapeia e inicia na hora, seja qual for o tamanho.

Pontos crus

Os próprios pontos, não resumos. Uma vista funda o bastante num zoom os lê.

Escala

Quantas casas decimais os valores de uma série têm. Com escala 2, o inteiro 2137 quer dizer 21,37. Também chamada de expoente.

Série

Os pontos de uma grandeza ao longo do tempo, em ordem de tempo: um sensor, um instrumento, uma métrica.

Still

Um quadro desenhado na CPU como imagem PNG, sem janela e sem GPU.

Tile

Um pedaço pequeno de uma série cortado para uma vista, para que o gráfico busque só o que a tela mostra. Um tile de colunas guarda resumos de um nível; um tile cru guarda os pontos crus de um trecho de tempo.

Fuso horário

A regra de um lugar para o seu horário local, com o nome do banco de dados IANA, como Europe/Lisbon. O Nonius guarda todo tempo em UTC; um fuso muda só os rótulos.

WebAssembly

Um formato compacto de programa que o navegador roda quase na velocidade nativa. O núcleo Rust do Nonius é compilado para ele, então o navegador roda o mesmo código que o servidor. Muitas vezes escrito wasm.

WebGL2 e WebGPU

As duas formas do navegador desenhar na placa de vídeo. O WebGPU é o mais novo; o WebGL2 está em todo lugar. Veja backend.

WebSocket

Uma conexão que a página mantém aberta com um servidor, para que o servidor mande dados no momento em que os tem. Um feed ao vivo roda sobre um.

Peso

O w de um ponto: quanto ele conta — 1 para uma leitura simples, o volume de uma negociação. Os resumos somam os pesos.

Canvas 2D

A superfície de desenho simples do navegador, desenhada pela CPU. O último backend do gráfico, usado quando o navegador não tem WebGPU nem WebGL2.