Coder Social home page Coder Social logo

apache / skywalking Goto Github PK

View Code? Open in Web Editor NEW
23.3K 840.0 6.4K 166.09 MB

APM, Application Performance Monitoring System

Home Page: https://skywalking.apache.org/

License: Apache License 2.0

Java 98.24% Shell 0.51% Batchfile 0.09% Python 0.12% Makefile 0.08% ANTLR 0.29% FreeMarker 0.14% PHP 0.04% Go 0.10% TypeScript 0.03% JavaScript 0.02% Lua 0.25% Dockerfile 0.10%
skywalking observability apm service-mesh dapper distributed-tracing web-performance metrics logging prometheus

skywalking's Introduction

Apache SkyWalking

Sky Walking logo

SkyWalking: an APM (Application Performance Monitoring) system, especially designed for microservices, cloud native and container-based architectures.

GitHub stars Twitter Follow

Maven Central

Abstract

SkyWalking is an open-source APM system that provides monitoring, tracing and diagnosing capabilities for distributed systems in Cloud Native architectures.

  • Distributed Tracing
    • End-to-end distributed tracing. Service topology analysis, service-centric observability and APIs dashboards.
  • Agents for your stack
    • Java, .Net Core, PHP, NodeJS, Golang, LUA, Rust, C++, Client JavaScript and Python agents with active development and maintenance.
  • eBPF early adoption
    • Rover agent works as a monitor and profiler powered by eBPF to monitor Kubernetes deployments and diagnose CPU and network performance.
  • Scaling
    • 100+ billion telemetry data could be collected and analyzed from one SkyWalking cluster.
  • Mature Telemetry Ecosystems Supported
    • Metrics, Traces, and Logs from mature ecosystems are supported, e.g. Zipkin, OpenTelemetry, Prometheus, Zabbix, Fluentd
  • Native APM Database
    • BanyanDB, an observability database, created in 2022, aims to ingest, analyze and store telemetry/observability data.
  • Consistent Metrics Aggregation
    • SkyWalking native meter format and widely known metrics format(OpenTelemetry, Telegraf, Zabbix, e.g.) are processed through the same script pipeline.
  • Log Management Pipeline
    • Support log formatting, extract metrics, various sampling policies through script pipeline in high performance.
  • Alerting and Telemetry Pipelines
    • Support service-centric, deployment-centric, API-centric alarm rule setting. Support forwarding alarms and all telemetry data to 3rd party.

Live Demo

Documentation

Downloads

Please head to the releases page to download a release of Apache SkyWalking.

Compiling project

Follow this document.

Code of conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.

Contact Us

Our Users

Hundreds of companies and organizations use SkyWalking for research, production, and commercial purposes. Visit our website to find the user page.

License

Apache 2.0 License.

skywalking's People

Contributors

acurtain avatar arugal avatar ascrutae avatar ax1an avatar bfergerson avatar clevertension avatar dmsolr avatar evanljp avatar fine0830 avatar hanahmily avatar iancao avatar innerpeacez avatar jaredtan95 avatar kezhenxu94 avatar liuhaoyang avatar lujiajing1126 avatar lytscu avatar mrproliu avatar peng-yongsheng avatar pg-yang avatar superskyyy avatar wankai123 avatar wayilau avatar weixiang1862 avatar wingwong-knh avatar wu-sheng avatar x22x22 avatar yswdqz avatar zhaoyuguang avatar zifeihan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

skywalking's Issues

byte-buddy引入,增加新的启动和增强机制

通过byte-buddy和配置文件的自动加载,提供通过修改main入口,对指定类、RPC进行切面监控的能力。
后续调整HttpClient、jdbc等已存在的插件。
大规模降低程序侵入性。 提供更为优雅的追踪插入模式。
@acurtain

createAPP大小写错误

文件名称:skywalking-webui\src\main\webapp\ftl\app\createAPP.ftl
Controller:
public String create() { return "app/createApp"; }

windows下不区分大小写,正常。
linux下异常:

Could not resolve view with name 'app/createApp' in servlet with name 'springmvc'

Getting more done in GitHub with ZenHub

Hola! @wu-sheng has created a ZenHub account for the wu-sheng organization. ZenHub is the leading team collaboration and project management solution built for GitHub.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • “+1” button for GitHub issues and comments;
  • Drag-and-drop file sharing;
  • Time-saving shortcuts like a quick repo switcher.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @wu-sheng.

ZenHub Board

@Transactional的bean无法被追踪

目前bean的增强在TracingEnhanceProcessor.postProcessAfterInitialization中。
@transactional的Bean由于会被Spring的JDKDynamicAOP给代理了,所以传入到TracingEnhanceProcessor类中就只能获取到Proxy对象(如:实际传入名称为com.sun.proxy.$Proxy17),并非Bean的实际对象,所以导致无法追踪。
但是如果将增强Bean的功能放到postProcessBeforeInitialization方法,会造成类名被修改,可能会造成Dubbo无法合理的识别类名并发布服务。

服务启动时应该自检

告警应用和采集服务应用启动时候需要自检配置文件,HBase,Redis是否存活或存在.

告警邮件未设置抄送人,发送失败

告警规则中未设置抄送人时,数据库字段保存为
{"period":1,"mailInfo":{"mailTo":["[email protected]"],"mailCc":[""]}}
mailCc为空字符串

skywalking-alarm\src\main\java\com\ai\cloud\skywalking\alarm\procesor\AlarmMessageProcessor.java中
process方法及MailUtil.sendMail中均未校验该字段

skywalking-alarm\src\main\java\com\ai\cloud\skywalking\alarm\util\MailUtil.java中
new InternetAddress(ccList[i])时异常:
javax.mail.internet.AddressException: Illegal address

BufferGroup中发送功能应增加发送副本

Line 69: while (!DataSenderFactory.getSender().send(data.toString())) {
发送程序应考虑副本问题,防止服务端重启,造成日志数据丢失。
增强程序的异常处理能力。

atominteger的运用会导致sdk和server的部分问题

atominteger的使用,在自增触及到interger上限时,会转到负数(整数越界)
1.api端造成缓存的span在临界值附近被快速铺盖,造成数据丢失。长期运行的程序易发疲劳周期性问题
2.server端在临界值附近造成写入堵塞,突发性降低性能

UUID生成是否有性能隐患?

UUID.randomUUID,有时候会过慢,可能出现意想不到的锁。原因来自SecureRadom,等待机器产生新的噪音(如机器上某个文件发生变化)才能生成所技术。

告警邮件标题时间段应更精确

当切换告警周期,告警服务器重启时,告警实际跨度周期大于设置周期
标题中的起始时间应为告警周期的开始时间,或最早告警的发生事件。提高描述的准确性

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.