Este é um template para documentar spikes, criado devido uma necessidade identificada na equipe T-TALK, mas que pode ser utilizado por outras equipes que assim desejarem.
A pessoa que for documentar um estudo pode copiar esta página, através da opção disponível no canto superior direito da página (procure por ... ).
Após realizada a cópia, deve-se editar o título da página e as datas informadas ao lado e todo o resto, aproveitando conteúdos e macros que julgar úteis.
Nota | ||
---|---|---|
| ||
Alguns elementos deste template não deveriam ser modificados, conforme descrito no guia para elaborar spikes. Não é proibido, mas seria bom manter a estrutura sugerida. |
Nesta parte do template demonstraremos o uso de algumas macros e recursos do TDN para incrementar o resultado final.
Utilize os estilos de texto da barra de ferramentas. Evite fazer títulos usando negrito e alterando o tamanho da fonte. Se fizer desta forma, o título não aparecerá no índice.
Veja, por exemplo, o texto abaixo. Ele parece um título, mas não é. (Confere ali no índice).
Título falso
Este recurso é interessante para sequenciar etapas ou enumerar opções. Para utilizá-los, basta clicar no botão correspondente na barra de ferramentas acima.
Se digitar um "*" no início da linha e der um TAB, uma lista com marcadores será iniciada. Para inserir o próximo item da lista, basta dar ENTER ao final. Para encerrar a lista, dê mais um ENTER.
Para listas numeradas, a ideia é a mesma:
Para sair da lista numerada, dê mais um ENTER.
Para incluir uma tabela no texto, basta clicar no botão correspondente, na barra de ferramentas situada no topo da página sendo editada. Clicando no botão e percorrendo o mouse sobre o grid é possível selecionar o número de linhas e colunas da tabela. Pressionando SHIFT durante a seleção das linhas e colunas, a tabela será criada sem cabeçalho.
Com cabeçalho
Spike foi realizado com a finalidade de avaliar a carga de mensagens suporta pelo RabbitMQ que esta instalado na Estrutura atual da TOTVS ( amqp://10.171.50.32 : 5672 )
Para este teste foram testados 3 cenário conforme descritos a seguir, utilizando um ferramenta de teste de performance disponibilizada pela Equipe de desenvolvimento do Rabbbit ( https://github.com/rabbitmq/rabbitmq-perf-test )
Realizando teste com 50 producers (2 X 25 conexões) e 50 consumers (2 X 25 conexões) e mensagem com tamanho de 10kb.:
Neste cenário, o Rabbit foi reiniciado, devido ao acúmulo das mensagem, ou seja, ficaram mais de 2,5 milhões de mensagens presas nas filhas, isso fez a memoria passar o limite definido. todavia outras medições se mostraram controladas.
Image Added
Realizando teste com 50 producers (2 X 25 conexões) e 50 consumers (2 X 25 conexões) e mensagem com tamanho de 4b.:
Devido ao tamanho reduzido da mensagem, não acaba gerando acúmulo no servidor assim ele acaba estabilizando em o consumo da memória:
Image Added
Realizando teste com 100 producers (4 X 25 conexões) e 100 consumers (4 X 25 conexões) e mensagem com tamanho de 4b.:
Estabilizou, entretanto consumindo uma memória media 3X maior que o teste anterior.
Conversando com o Felipe Conti, neste último teste o consumo de processo também se mostrou bem alto.
Image Added
Cenário 1 | Cenário 2 | Cenário 3 | |
---|---|---|---|
Nº de mensagens | 2.5 Milhões | 48 mil | 2 mil |
Queda serviço | Sim | não | não |
Consumo de memoria | mais de 3.5 gb | 1 gb | 3gb |
Por ser uma ferramenta bem otimizada suporta uma quantidade bem significativa em memoria, lembrando que no cenário houve um acumulo devido ao trafego das mensagem, em contra ponto, o consumo de processamento aumento consideravelmente quando aumentado o numero de consumers. Para identificar os numeros ideias, precisamos colocar a ferramenta em um ambiente semelhante ao que será utilizado, pois nem tanto pela quantidade se identificou problema, mas sim com relação a comunicação entre os publisher e consumer, gerando assim o congestionamento na fila
Sem cabeçalho
Para incluir ou eliminar linhas e colunas na tabela, basta utilizar os botões correspondentes da barra de ferramentas de tabela, que é habilitada quando se clica dentro de uma célula.
Para inseri-los, utilizar os botões disponíveis na barra de ferramentas. Imagens e links podem ser incluídos usando o teclado também. Para imagens, utilize CTRL-M. Para links, selecione um texto e utilize a combinação de teclas CTRL-K.
Image Removed
Figura 1 - Imagem do Spike (quem assistiu Tom e Jerry lembra...)
Exemplo de link: Para mais informações sobre spikes no contexto de metodologia ágil, clique aqui.
Informações | ||
---|---|---|
| ||
As caixas ajudam a destacar uma parte do texto, como este. Para incluir estes elementos, utilize o botão "+" (inserir mais conteúdo), na barra de ferramentas. A macro "informações", que insere uma caixa como esta já está disponível na lista que se abre. Para incluir uma caixa de nota (com cor amarela) ou uma caixa de aviso (com cor vermelha), é necessário escolher na lista a opção "Outras macros". Na tela que se abre, vá na caixa de pesquisa, na parte superior direita e digite "nota" ou "aviso", para ter acesso mais rápido à macro desejada. |
Aviso | ||
---|---|---|
| ||
Cuidado com os exageros. Os textos em destaque não pode interromper o fluxo do documento. Avalie bem a posição da caixa, lembrando que ela sempre será uma informação complementar. |
Para incluir uma referência à uma ou mais issues do JIRA (como foi feito no canto superior direito deste documento), utilize a macro "Filtro/ocorrência JIRA", no botão "inserir mais conteúdo".
Na tela que se abre, pode-se pesquisar por um código de issue ou ir direto para a opção "Visualizado recentemente". Encontrando a issue desejada, clique no botão "Inserir".
Para mostrar código-fonte num documento, usamos a macro "Bloco de código". Para inserí-la, utilize o botão "+" (inserir mais conteúdo) e escolha "Outras macros", digitando por "código" na caixa de pesquisa.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
package com.totvs.ttalk.guides.spike;
public class Test {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
} |
Há várias linguagens e formatos para utilizar. Certamente, um deles vai te atender (OK, Progress e ADVPL não tem, mas pode usar um que fique parecido... )
Para inserir diagramas no documento, pode-se utilizar a macro "draw.io diagram", disponível na lista de macros, quando se clica no botão "inserir mais conteúdo".
Você poderá escolher de um dos templates disponíveis na ferramenta, ou criar seu próprio diagrama. O Draw.io é muito bom para diagramas e tem vários templates. Vale a pena estudá-lo.
Labels ou rótulos não são elementos que impactam diretamente na apresentação do documento, mas permitem sua rápida localização pela engine de pesquisa do TDN.
Elas podem ser acrescentadas ao documento a qualquer tempo. Quando em modo de edição, podem ser adicionadas clicando no botão situado no topo da página, ao lado do link contendo o caminho até a página sendo editada. Curiosamente, o botão se parece com uma etiqueta (label, em inglês).
Além das palavras "spike" e "estudo", sugere-se colocar como labels a issue do JIRA (ex: deaitools-249) e outras palavras que tenham a ver com o tema do spike.
O objetivo deste template é disponibilizar uma base para se documentar um spike de maneira organizada e consistente. Não é nossa pretensão tornar este template um modelo padrão para toda a empresa, mas se ele for útil e servir de inspiração para outras áreas, será para nós uma grande satisfação.
Também não é intenção deste documento esgotar todas as possibilidades de formatação e recursos do Confluence. Quem utilizar este documento como base, sinta-se livre para agregar mais recursos.
Nesta parte do template, lembre-se de incluir links e referências para os materiais que serviram de base para o seu estudo.
Propriedades de página | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Índice |
---|