惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
博客园 - 司徒正美
D
Docker
T
The Blog of Author Tim Ferriss
罗磊的独立博客
博客园 - 叶小钗
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
J
Java Code Geeks
Jina AI
Jina AI
博客园 - 【当耐特】
C
Check Point Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog

Datadog | The Monitor blog

Introducing our open source AI-native SAST Instrument and monitor Boomi integration flows with OpenTelemetry and Datadog Not all index scans are equal: How we cut query latency by over 99% Platform engineering metrics: What to measure and what to ignore Integrate Recorded Future threat intelligence with Datadog Cloud SIEM CI/CD security: threat modeling using a MITRE-style threat matrix CI/CD security: How to secure your GitHub ecosystem Ingress NGINX is EOL: A practical guide for migrating to Kubernetes Gateway API Operating agentic AI with Amazon Bedrock AgentCore and Datadog LLM Observability: Lessons from NTT DATA Introducing the Datadog Code Security MCP Capture and analyze custom heatmaps in Session Replay Understand session replays faster with AI summaries and smart chapters Monitor ClickHouse query performance with Datadog Database Monitoring How we designed empathetic alert sounds for on-call engineers Search and act across Datadog to resolve issues faster with Bits Assistant Measure the business impact of every product change with Datadog Experiments Analyzing round trip query latency Configuring JavaScript caches for better performance Introducing Bits AI Dev Agent for Code Security Datadog achieves ISO 42001 certification for responsible AI Monitor Nutanix clusters, hosts, and VMs with Datadog Monitor Juniper Mist in Datadog A new Host Map for modern infrastructure Annotate traces to improve LLM quality with Datadog LLM Observability What’s new in Cloud SIEM: AI-powered investigations, enhanced threat intelligence, and scalable security operations Explore Kubernetes with native OpenTelemetry data Monitor Oracle Fusion Cloud Applications with Datadog Announcing the Datadog Terraform provider v4.0.0 Scaling Kubernetes workloads on custom metrics How to design cloud environments for AI-powered threat analysis
Pair program in a collaborative terminal with Datadog CoS...
2023-11-30 · via Datadog | The Monitor blog
Jason Thomas

Jason Thomas

Till Pieper

Till Pieper

For too long, engineers have had to piece together an unwieldy combination of tools to collaboratively debug and resolve incidents while pair programming in real time. These activities normally require developers to work individually through a terminal, but the patchwork solutions that allow teams to work together in terminals all have significant drawbacks.

For example, teams looking for ways to share a terminal might initially turn to traditional video-conferencing tools, but this solution makes text blurry, adds significant latency, and even makes it easy to leak credentials if you accidentally reveal them on screen. Alternatively, engineers can opt to work together through terminals built into collaborative IDEs or by combining tmux with SSH, but these solutions don’t allow teammates to share secondary windows, such as emulators or browser windows, or to communicate through audio/video chat—which in turn requires teams to juggle multiple open apps just to work together.

To solve these problems and promote real-time engineering teamwork through a single tool, we’re excited to announce a shared terminal for CoScreen that lets you run commands, debug, and write code collaboratively with near-zero latency. The shared terminal is a new beta feature in CoScreen, the collaboration tool by Datadog that was built for engineers, by engineers.

In this blog post, we will cover:

A new way to collaborate in terminals

With CoScreen’s collaborative terminal, you can pair program and even mob program in your terminal with up to 10 team members. Terminal input and output are transmitted as PTY/text with near-zero latency. Teammates can share control to edit collaboratively in real time—and even copy and paste. The terminal also comes with a secret-filtering feature that helps you keep sensitive strings like your passwords and private RSA keys private.

Key benefits of CoScreen’s collaborative terminal:

  • Speed: CoScreen’s collaborative terminal transmits terminal content as PTY/text data and not as video, delivering 80 percent lower latency than traditional screen sharing.
  • Enhanced collaboration: Up to 10 users can view the shared terminal and collaborate within it—while simultaneously taking advantage of built-in audio and video chat and multi-user screen sharing.
  • Annotations: Users can draw on the shared terminal to highlight items for other participants.
  • Security: Through the use of data encryption, along with RegEx pattern matching and entropy-based secret scanning and filtering, CoScreen enables you to share your terminal in a more secure way than is possible with other solutions.

And because the collaborative terminal is built into CoScreen, engineers also benefit from all of CoScreen’s functionality as they work together within shared terminals, gaining the ability to:

  • Share the entire display, or individual windows, with built-in audio and video chat
  • Simultaneously share windows from multiple displays at the same time
  • Allow multiple users to share screens with each other at the same time
  • Retain control of any apps without letting anyone steal your window and mouse focus

How the collaborative terminal works

CoScreen’s collaborative terminal consists of several components built around a PTY module, CoScreen, and the underlying open source video conferencing platform Jitsi. The PTY module is a high-performing and secure custom library, written in Rust, that connects to a pseudo-terminal on the underlying system. This pseudo-terminal is responsible for generating the input and output streams of the terminal session.

The data channel of CoScreen is used to securely transmit the encrypted PTY data alongside remote control data, annotations, and other in-band metadata about the ongoing session. If there are only two participants, the data channel produces, preferably, a peer-to-peer (P2P), DTLS-encrypted WebRTC data channel connection between the CoScreen peers. If there are more than two participants, and as a fallback method for two participants, it relies on a single secure WebSocket connection to the Jitsi VideoBridge. This connection can be established via outgoing SSL on port 443, which makes it compatible with most corporate firewall scenarios. The fallback WebSocket connection, also known as the BridgeChannel, is a standard connection to the Jitsi VideoBridge and is an HTTPS/SSL encrypted channel.

Terminals side by side with and without secret filtering

To ensure the protection of sensitive information such as credentials and passwords, the terminal has an experimental mechanism to hide suspected secrets before they are transmitted. Among other components, this feature relies on Datadog Sensitive Data Scanner to detect sensitive information in strings that would otherwise be shared with remote users. The scanner is configured to detect various types of sensitive information, such as passwords, private RSA keys, GitHub API keys, tokens, credit card numbers, and Social Security numbers. When these strings are detected during a terminal sharing session, the scanner will replace it with wildcards before transmission.

Note that secret filtering is an experimental feature that can’t be disabled in this first version of the feature. If you want to share your unredacted terminal, you can still do so via the traditional CoScreen-way: by clicking on the “Share” tab above the terminal window.

How to get started with the collaborative terminal

It’s easy to get started with terminal sharing in CoScreen’s collaborative terminal. Simply take the following steps:

CoScreen menu showing a Share Terminal button

After this last step, the shared terminal will appear for you and all other participants in the CoScreen session. If you enable remote control in CoScreen, other users can type and click into your terminal.

What’s next?

CoScreen’s collaborative terminal is now available as a beta feature. Currently, you can collaborate through the terminal built into CoScreen, with your local user profile and many of your customizations loaded. But since we are still building out this feature, we are actively soliciting your input about what other capabilities you’d like to see. Tell us what you’re missing the most.

If you want to try it out, you can get started with this feature for free in under two minutes. And if you’re brand new to Datadog, you can sign up for a 14-day free trial to try CoScreen with Datadog today.