SlideShare uma empresa Scribd logo
1 de 111
Baixar para ler offline
| Real time insights for modern
software
2020
● O que é
● Funcionalidades
● Exemplos
● Conclusão
Agenda
Plataforma de observabilidade
Plataforma de ̶o̶b̶s̶e̶r̶v̶a̶b̶i̶l̶i̶d̶a̶d̶e̶
Plataforma de ̶o̶b̶s̶e̶r̶v̶a̶b̶i̶l̶i̶d̶a̶d̶e̶ monitoramento
Plataforma de observabilidade
● Coletar métricas
Plataforma de observabilidade
● Coletar métricas
● Examinar desempenho próximo ao tempo real
Plataforma de observabilidade
● Coletar métricas
● Examinar desempenho próximo ao tempo real
● Auxiliar na melhoria do desempenho da aplicação
Um dos produtos da plataforma do New Relic
Um dos produtos da plataforma do New Relic
● recurso de análise de software
Um dos produtos da plataforma do New Relic
● recurso de análise de software
● reunir e visualizar dados
Um dos produtos da plataforma do New Relic
● recurso de análise de software
● reunir e visualizar dados
● o que eles dizem sobre o negócio
Eventos coletados
Eventos coletados
● Todo evento específico de cada app do New Relic
○ Transaction/TransactionError - APM
Eventos coletados
● Todo evento específico de cada app do New Relic
○ Transaction/TransactionError - APM
○ PageView - Web
Eventos coletados
● Todo evento específico de cada app do New Relic
○ Transaction/TransactionError - APM
○ PageView - Web
○ MobileSession - Mobile apps
Transactions
● Uma transação é definida como uma unidade lógica em um aplicativo de software
● Web
● Non-web
Retenção de dados
Retenção de dados
● 7 dias
Retenção de dados
● 7 dias - com sorte
Retenção de dados
● 7 dias - com sorte
● Tabelas customizadas
New Relic Query Language
New Relic Query Language
● É parecido com SQL
New Relic Query Language
● É parecido com SQL
● Não tem JOIN (API)
New Relic Query Language
● É parecido com SQL
● Não tem JOIN (API)
● Não tem subsql (API)
New Relic Query Language
● É parecido com SQL
● Não tem JOIN (API)
● Não tem subsql (API)
● Te deixa colocar WHERE em quase qualquer lugar e isto não está errado, supera.
SELECT *
FROM Transaction
SELECT *
FROM Transaction
WHERE appName = 'production.ucs-printer'
SELECT *
FROM Transaction
WHERE appName = 'production.ucs-printer'
AND httpResponseCode IN (400, 500)
SELECT *
FROM Transaction
WHERE appName = 'production.ucs-printer'
AND httpResponseCode IN (400, 500)
WHERE appId = '123123asdasd123'
SELECT *
FROM Transaction
WHERE appName = 'production.ucs-printer'
AND httpResponseCode IN (400, 500)
WHERE appId = '123123asdasd123'
SINCE 2 days ago UNTIL now
SELECT keyset() FROM Transaction
"allKeys": [
"appId",
"appName",
"containerId",
"duration",
"entityGuid",
"error",
"externalCallCount",
"externalDuration",
"host",
"httpResponseCode",
"httpResponseMessage",
"name",
"realAgentId",
"request.headers.accept",
"request.headers.host",
"request.headers.referer",
"request.headers.userAgent",
"request.method",
"request.uri",
"response.headers.contentLength",
"response.headers.contentType",
"response.status",
"timestamp",
]
Mas como o Insights vai me ajudar se os atributos de uma transação só
me informam o apdex e o response time ?
Atributos customizados
Atributos customizados
● Te permite adicionar informações importantes sobre seu negócio
Atributos customizados
● Te permite adicionar informações importantes sobre seu negócio
● É um dos pilares do insights
Atributos customizados
● Não utilizar nomes dinâmicos no nome dos atributos
Boas práticas
Atributos customizados
● Não utilizar nomes dinâmicos no nome dos atributos
● É aconselhável mapear objetos com ponto
○ request.id
○ request.length
Boas práticas
Atributos customizados
● Não utilizar nomes dinâmicos no nome dos atributos
● É aconselhável mapear objetos com ponto
○ request.id
○ request.length
● É aconselhável mapear atributos em camelCase
Boas práticas
Atributos customizados
● Não utilizar nomes dinâmicos no nome dos atributos
● É aconselhável mapear objetos com ponto
○ request.id
○ request.length
● É aconselhável mapear atributos em camelCase
● Ligar distributed trace
Boas práticas
Boas práticas
AddAttribute(key string, value interface{}) error
if tx := newrelic.FromContext(ctx); tx != nil {
tx.AddAttribute(key, value)
}
Exemplo Custom attributes: GO
ctx := context.TODO() //the context must have a transaction embedded
telemetry.AddAttributes(ctx, "name", "rage", "version", "1.0.0")
Exemplo Custom attributes: GO
● Funnel
● Facet
● Timeseries
● Compare
● Percentil
Funções
Contexto: sorter
● É um dispositivo físico com várias esteiras
Contexto: sorter
● É um dispositivo físico com várias esteiras
● Recebe um pacote e "chuta" o mesmo para uma rampa pré determinada
Contexto: sorter
● É um dispositivo físico com várias esteiras
● Recebe um pacote e "chuta" o mesmo para uma rampa pré determinada
● Feito para processar grande fluxo de pacotes
Contexto: sorter
● É um dispositivo físico com várias esteiras
● Recebe um pacote e "chuta" o mesmo para uma rampa pré determinada
● Feito para processar grande fluxo de pacotes
● Possui checkpoints para informar eventos
● Etc
Contexto: sorter
Diariamente processamos diversos pacotes no sorter, como o New
Relic Insights pode nos ajudar a entender o comportamento
desses pacotes?
Exemplo
NR - Funnel
Te permite perguntar: "Dos pacotes que executaram o passo 1,
quantos também executaram o passo 2, e dos pacotes que
concluíram os passos 1 e 2, quantos também concluíram até o
passo 3?
NR - Funnel
NR - Funnel
Como podemos identificar quantos pacotes seguiram o fluxo de
PYM?
Exemplo
NR - Funnel
NR - Funnel
NR - Funnel
Quero identificar a cadência de cada evento que o sorter notifica,
como fazer?
Exemplo
Use FACET para separar e agrupar seus resultados por valores de
atributo.
NR - Facet
NR - Facet
NR - Facet
Existe formas de exibir essa projetação em um gráfico?
Exemplo
Use a cláusula TIMESERIES para retornar dados como uma série
temporal dividida por um período de tempo especificado.
NR - Timeseries
NR - Timeseries
NR - Timeseries
Semana passada subimos uma nova versão que alterava a forma
como os pacotes induzidos são processados.
Foi efetivo?
Exemplo
Use Compare para comparar dados atuais com dados de um
período anterior.
NR - Compare
NR - Compare
NR - Compare
Exemplo - Análise
Identificar pontos de melhoria de desempenho em uma app
● Custom attributes
Exemplo - Análise
Identificar pontos de melhoria de desempenho em uma app
● Custom attributes
Exemplo - Análise
Adicionar etapas no trace para segmentar a transação do New Relic
Exemplo - Análise
Exemplo - Análise
NRQL
Exemplo - Análise
Tempos
Exemplo - Análise
26
9
11
26
4
Chamadas a função calcular!
Exemplo - Análise
Possível identificar visualmente
● Quanto mais chamadas a função "calcular" mais lento o request
● Caso seja necessário ter várias chamadas a essa função
○ é nesse ponto que devemos aplicar uma melhoria
Permite criar alertas
● Em aplicações monitoradas (New Relic APM)
Alertas
Permite criar alertas
● Em aplicações monitoradas (New Relic APM)
● Utilizando dados client-side (New Relic Browser)
Alertas
Permite criar alertas
● Em aplicações monitoradas (New Relic APM)
● Utilizando dados client-side (New Relic Browser)
● Sobre infraestruturas monitoras (New Relic Servers)
Alertas
Permite criar alertas
● Em aplicações monitoradas (New Relic APM)
● Utilizando dados client-side (New Relic Browser)
● Sobre infraestruturas monitoras (New Relic Servers)
● Sobre external services (New Relic APM)
Alertas
Permite criar alertas
● Em aplicações monitoradas (New Relic APM)
● Utilizando dados client-side (New Relic Browser)
● Sobre infraestruturas monitoras (New Relic Servers)
● Sobre external services (New Relic APM)
● Baseado em queries (New Relic Insights)
Alertas
Alertas
Alertas
Alertas
Analisa os erros da aplicação baseado em atributos da transação
Erros analytics
Erros analytics
Erros analytics
Erros analytics
Último produto da New Relic
● Integra todas as soluções em um único lugar
Último produto da New Relic
● Integra todas as soluções em um único lugar
Último produto da New Relic
● Integra todas as soluções em um único lugar
● Apps:
○ Dashboards
○ Logs
○ Distributed tracing
Dashboards
New Relic
● Quanto mais recursos usamos do New Relic, mais aproveitamos suas funcionalidades
● Maior controle sobre métricas de aplicação
○ e de negócio
● Melhoria da sua aplicação
Conclusão
Próximos passos
Próximos passos
Obrigado
"Software is incredibly malleable and limited only by your imagination."
Lew Cirne, 2015
"Software is incredibly malleable and limited only by your imagination."
Lew Cirne, 2015
Obrigado
https://docs.newrelic.com/docs/apm/transactions/intro-transactions/transactions-new-relic-apm
https://docs.newrelic.com/docs/insights
https://newrelic.com/products/insights/faq
https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/collect-custom-attributes
https://learn.newrelic.com/series/fundamentals
https://docs.newrelic.com/docs/using-new-relic/welcome-new-relic/get-started/introduction-new-relic
https://rpm.newrelic.com/api/explore/applications/list
Referências

Mais conteúdo relacionado

Semelhante a New Relic Insights

Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Alan Cafruni Gularte
 
Seminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSSeminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSPedrodosSantos
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Práticatdc-globalcode
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na PráticaEiti Kimura
 
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustTDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustMayara Fernandes
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Otávio Carvalho
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eAlan Correa Morais
 
12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwordsFernando Ruaro
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwordsWaldemar Neto
 
Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Diemesleno Souza Carvalho
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Loiane Groner
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringFelipe Klerk Signorini
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalNuno Baptista Rodrigues
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk BrasilSplunk
 
InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time Umbler
 

Semelhante a New Relic Insights (20)

Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?Testes de Performance: Por Onde Começar?
Testes de Performance: Por Onde Começar?
 
Seminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSSSeminário Aese - Definição das ferramentas do LSS
Seminário Aese - Definição das ferramentas do LSS
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com LocustTDCPOA2018 - Trilha Python - Testes de Performance com Locust
TDCPOA2018 - Trilha Python - Testes de Performance com Locust
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017Stream Processing - ThoughtWorks Architecture Group - 2017
Stream Processing - ThoughtWorks Architecture Group - 2017
 
Teste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf eTeste de performance no contexto de uma aplicação de nf e
Teste de performance no contexto de uma aplicação de nf e
 
12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords12 Factor APPS Docker na Cloud e outras buzzwords
12 Factor APPS Docker na Cloud e outras buzzwords
 
12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords12 Factor APPS, docker na cloud e outras buzzwords
12 Factor APPS, docker na cloud e outras buzzwords
 
Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]Desenvolvimento para tv digital interativa [ dia 3]
Desenvolvimento para tv digital interativa [ dia 3]
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 
MFV - Instrucional.pptx
MFV - Instrucional.pptxMFV - Instrucional.pptx
MFV - Instrucional.pptx
 
Palestra parse
Palestra parsePalestra parse
Palestra parse
 
Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)Projetos reativos com Angular, RxJS e Redux (ngRx)
Projetos reativos com Angular, RxJS e Redux (ngRx)
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
Introdução Splunk Brasil
Introdução Splunk BrasilIntrodução Splunk Brasil
Introdução Splunk Brasil
 
InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time InfluxDb: como monitorar milhares de dados por segundo em real time
InfluxDb: como monitorar milhares de dados por segundo em real time
 

New Relic Insights