1 Tool Directory

  • Arthas, a Java online diagnostic tool
  • Cloud Toolkit, an IDE plug-in
  • Chaos experiment injection tool ChaosBlade
  • Java code specification scan plug-in
  • 5. Apply the real-time monitoring tool ARMS
  • Static open source site building tool Docsite
  • 7. Freeline second-level compilation scheme on Android platform
  • 8. Performance test tool PTS
  • Cloud effect developer tool KT
  • 10. Architecture visualization tool AHAS
  • Data processing tool EasyExcel
  • IOS class tool HandyJSON
  • Cloud resource and application deployment tool EDAS Serverless
  • Druid database connection pool
  • Java toolset Dragonwell

From manual to automation, from repetition to innovation, the evolution of technology has been accompanied by the development of developer tools.

Alibaba opens its technical accumulation in various business scenarios to the outside world in the form of open source, cloud implementation or tools. This paper will select some developer tools of Alibaba, hoping to help developers improve development efficiency and write codes more elegantly. Since developers are involved in a wide range of technical areas, I will only review the tools available to them from the perspective of back-end developers in areas I am familiar with. Each tool is described as follows:

  • Tool name and introduction
  • Usage scenarios
  • Using the tutorial
  • access

Arthas, a Java online diagnostic tool

https://preview.mdnice.com/themes/

Arthas is a Java online diagnostic tool that Alibaba opened source in September 2018. Tool usage scenarios:

From which JAR is this class loaded? Why are all kinds of class-related exceptions reported? Why didn’t the code I changed execute? Did I not commit? Got the branch wrong? If you encounter a problem, you cannot debug it online. Can you only re-publish it by logging? There is a problem with a user’s data processing online, but it cannot be debugged online, and it cannot be reproduced offline! Is there a global view of the health of the system?

Is there any way to monitor the real-time health of the JVM?

Arthas supports JDK 6+, Linux/Mac/Windows, command line interaction, and rich Tab auto-completion to further locate and diagnose problems.

Cs: “https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-basics”

Advanced tutorial: “https://alibaba.github.io/arthas/arthas-tutorials?language=cn&id=arthas-advanced”

How to obtain :(open source)

Source address: “https://github.com/alibaba/arthas”

3 IDE plug-in Cloud Toolkit

The Cloud Toolkit is an IDE plug-in that helps developers develop, test, diagnose, and deploy applications more efficiently. With the Cloud Toolkit, developers can easily deploy local applications to any machine (local or Cloud) with one click. Arthas diagnostics, efficient execution of terminal commands and SQL are built into the Toolkit. IntelliJ IDEA, Eclipse, PyCharm and Maven.

Tool usage scenarios:

Are you experiencing repeated packaging after each code change? Frequent switching between Maven, Git, and other operational scripts and tools? Upload using SCP tool? Log in to the server using XShell or SecureCRT? Replace the deployment package? Restart? Upload files to a specified directory on the server and switch between FTP and SCP tools frequently.

IntelliJ IDEA version: “https://help.aliyun.com/document_detail/98762.html”

The Eclipse version: “https://help.aliyun.com/document_detail/29970.html”

PyCharm version: “https://help.aliyun.com/document_detail/112740.html”

Maven version: “https://help.aliyun.com/document_detail/108682.html”

How to get it :(free)

Tools to address: “https://www.aliyun.com/product/cloudtoolkit”

4 chaos experiment injection tool ChaosBlade

ChaosBlade is a chaos engineering tool that follows the experimental principles of chaos engineering and provides rich failure scenarios to help distributed systems improve fault tolerance and recoverability. It can inject underlying faults and provide exception scenarios such as delay, exception, return of a specific value, parameter value modification, repeated calls, and try-catch block exception.

Tool usage scenarios:

Is the fault tolerance of microservices hard to measure? Is the container choreography configuration reasonable and cannot be verified? PaaS layer robustness testing work out of the way?

Using the tutorial: “https://github.com/chaosblade-io/chaosblade/wiki/ newbie guide”

Access: (oss) address: “https://github.com/chaosblade-io/chaosblade/wiki/ newbie guide”

Java code specification scan plug-in

This plug-in is used to detect irregularities in Java code and give hints. The protocol plug-in is developed in Kotlin language.

Use tutorial:

IDEA plug-ins using document: “https://github.com/alibaba/p3c/wiki/IDEA plugin using document”

Eclipse plug-in using document: “https://github.com/alibaba/p3c/wiki/Eclipse plugin using document”

How to obtain :(open source)

Source address: “https://github.com/alibaba/p3c”

6 Use the real-time monitoring tool ARMS

ARMS is an APM monitoring tool. It provides front-end monitoring, application monitoring, and custom monitoring options to quickly build real-time application performance and service monitoring capabilities.

Tool usage scenarios:

You get alarm 37 at 10:00 p.m., and you don’t know what to do? By the time we find the problem, the customer/business has filed a complaint? Spend hundreds of thousands of dollars on servers every month, but you can’t guarantee the user experience?

Use tutorial:

The front-end monitoring access: “https://help.aliyun.com/documentdetail/106086.html”

Application monitoring access: “https://help.aliyun.com/documentdetail/63796.html”

Custom monitoring: “https://help.aliyun.com/document_detail/47474.html”

Access :(charge)

Tools to address: “https://www.aliyun.com/product/arms”

7 Static open source site building tool Docsite

Docsite a set of official website, documents, blogs and communities as one of the static open source site solution, with a simple and easy to use, do not give up the characteristics of getting started, It also supports React and static rendering, PC and mobile, Chinese and English internationalization, SEO, Markdown documents, global site search, site style customization, page customization and other functions.

Using the tutorial: “https://docsite.js.org/zh-cn/docs/installation.html”

How to obtain :(open source)

Project Address: “https://github.com/txd-team/docsite”

8 Second level compilation scheme Freeline on Android platform

Freeline makes full use of cached files to quickly compile and deploy code changes to the device in a matter of seconds, effectively reducing the amount of recompilation and installation time required for daily development. The quickest way to use Freeline is to install the Android Studio plugin directly.

Using the tutorial: “https://github.com/alibaba/freeline/blob/master/README-zh.md”

How to obtain :(open source)

The address of the project: “https://github.com/alibaba/freeline”

9 Performance test tool PTS

PTS can simulate a scenario in which a large number of users access services and initiate tasks at any time, eliminating construction and maintenance costs. It supports the conversion of JMeter scripts to PTS pressure test and the native JMeter engine for pressure test.

Using the tutorial: “https://help.aliyun.com/document_detail/70290.html”

Access :(charge)

Tools to address: “https://www.aliyun.com/product/pts”

KT cloud developer tool

KT can simplify the complexity of joint testing under Kubernetes and improve the research and development efficiency based on Kubernetes.

Using the tutorial: “https://yq.aliyun.com/articles/690519”

How to get it :(free)

Tools to address: “https://yq.aliyun.com/download/3393”

11 Architecture visualization tool AHAS

AHAS provides architecture visualization for container environments such as K8s, and features such as fault injection high availability evaluation and one-click flow degradation to quickly improve application availability at low cost.

Tool usage scenarios:

In the process of service transformation, want to accurately understand the composition and interaction of resource instances, and realize the visualization of architecture? Want to introduce real fault scenarios and walk-through models? Low barrier to access to flow control, degradation features?

Using the tutorial: “https://help.aliyun.com/document_detail/90323.html”

How to get it :(free)

Tools to address: “https://www.aliyun.com/product/ahas”

Data processing tool EasyExcel

EasyExcel is a framework for Java parsing, Excel generation, it rewrites poI 07 version of Excel parsing, originally a 3M Excel with POI SAX needs about 100M memory, EasyExcel can be reduced to KB level, And no matter how big an Excel is, it doesn’t run out of memory. Version 03 relies on POI’s SAX schema. The model transformation is encapsulated in the upper layer to make the user more simple and convenient.

Using the tutorial: “https://github.com/alibaba/easyexcel/blob/master/quickstart.md”

How to obtain :(open source)

Tools to address: “https://github.com/alibaba/easyexcel”

13 iOS tool HandyJSON

HandyJSON is a JSON serialization/deserialization library for the Swift language.

Compared to other popular Swift JSON libraries, HandyJSON supports pure Swift classes and is simple to use. Its deserialization (converting JSON to Model) does not require Model to inherit from NSObject (because it is not based on KVC), nor does it require you to define a Mapping function for Model. As long as you define the Model class and declare that it is subject to the HandyJSON protocol, HandyJSON can parse the values from the JSON string itself with the property name Key of each property.

Using the tutorial: “https://github.com/alibaba/HandyJSON/blob/master/README_cn.md”

How to obtain :(open source)

Tools to address: “https://github.com/alibaba/HandyJSON”

14 Cloud resource and application deployment tool EDAS Serverless

EDAS Serverless is a Kubernetes-based Serverless platform for applications and microservices. Users do not need to manage and maintain the cluster and server, through the image, WAR package and JAR package, quickly create native Kubernetes support container applications, while supporting Spring Cloud and Dubbo and other mainstream microservices framework.

Using the tutorial: “https://help.aliyun.com/document_detail/102048.html”

Access :(free during beta)

Tools to address: “https://help.aliyun.com/document_detail/97792.html”

15 Database connection pool Druid

Druid is a database connection pool in the Java language that provides powerful monitoring and extension capabilities.

Using the tutorial: “common problem” https://github.com/alibaba/druid/wiki/

How to obtain :(open source)

Tools to address: “http://central.maven.org/maven2/com/alibaba/druid/”

Java toolset Dragonwell

Alibaba Dragonwell is the open source version of Alibaba’s internal OpenJDK customized AJDK, AJDK for online e-commerce, finance, logistics combined with the optimization of business scenarios, running in the ultra large scale, 100,000+ servers of Alibaba data center. Alibaba Dragonwell is compliant with Java SE standards and currently only supports Linux/ X86_64 platforms.

Use the tutorial: https://github.com/alibaba/dragonwell8/wiki/ alibaba Dragonwell8 user guide”

How to obtain :(open source)

Tools to address: “https://github.com/alibaba/dragonwell8”

This article reprinted from www.jianshu.com/p/58ec32eef…