マンガメディア開発チームの id:mizdra です。普段はWebアプリケーションエンジニアとして、マンガビューワ「GigaViewer」の開発に携わっています。GigaViewerの提供は2017年に始まり、執筆時点で12の出版社、14のサイトに導入いただいています。 GigaViewerでは、多数のマンガサイトを素早く構築するため、マルチテナントアーキテクチャを採用しています。データベースを始めとしてコードベースに至るまで、多くの部分をサイト間で共通化しています。 マルチテナントアーキテクチャは、プロダクトを多数のプラットフォームに効率よく展開できるメリットがある一方で、アーキテクチャ特有のさまざまな困難もあります。この記事では、マルチテナント環境でSentryを利用したときに発生するグルーピングの問題を解説し、その問題にGigaViewerがどのように対処したのかを紹介します。 なお
フロントエンドエキスパートチームのlacolacoです。 この記事ではアプリケーション監視プラットフォームのSentryをClassiの中でどのように活用しているかを少し紹介します。Sentryの運用に悩んでいる方の参考になれば幸いです。 Sentryの用途 Classiでは大きく2つの目的でSentryを利用しています。ひとつはアプリケーションのエラーの監視(以後エラー監視と呼びます)、もうひとつはWebフロントエンドのパフォーマンスの監視(以後パフォーマンス監視と呼びます)です。 Sentryは多くのプログラミング言語用にSDKがあり、Classiでは主にJavaScriptとRubyのSDKを利用してフロントエンド・バックエンド両方のエラー監視を行っています。パフォーマンス監視は最近利用しはじめたのですが、バックエンドではもともとDatadogによる監視をしていたので、Sentryの
先日『フロントエンド監視の全体像と実現方法』という記事を投稿しましたが、その中でテレメトリについては触れませんでした(※本記事は上記記事の内容を知らなくても読み進められるようになっています)。 というのは、テレメトリは可観測性を実現するための重要な概念ではあるものの、テレメトリを軸に監視を考えるのは手段の目的化になってしまうと考えているからです。 重要なのはサービスにとって何を観測するべきかを考えることであり、テレメトリはそれを設計や実装に落とし込む際に現れるものです。 一方で監視に対する理解を深める上では、テレメトリを軸に考えることも重要でしょう。 そこで本記事ではフロントエンド監視においてどのようなテレメトリを収集するべきか述べていきます。 監視 SaaS と OpenTelemetry (OTel) Datadog, New Relic, Sentry のいずれかを利用することを考え
ドタバタしてたら 1 ヶ月以上期間が空いてしまった。仕事の都合で Sentry を完全理解する必要があったので SDK 読んでみた。 知りたいことは エラーの収集方法 どこにエラーを送っているのか エラーの情報として何を送っているのか だ。そこで SDK を呼び出した時にどういうコードが実行されるか一つずつ見ていく。Repository は https://github.com/getsentry/sentry-javascript だ。 ブラウザ版と Node.js 版があるが、Node.js の方を読んでいく。Node.js では一般的には import * as Sentry from "@sentry/node"; // Importing @sentry/tracing patches the global hub for tracing to work. import "@se
ProductHow to fix errors in production with GitHub and SentryThis post was written by our partners at Sentry—an open source error tracker that helps you prioritize, identify, reproduce, and fix issues. Install Sentry from GitHub Marketplace or the Student… This post was written by our partners at Sentry—an open source error tracker that helps you prioritize, identify, reproduce, and fix issues. In
import { createApp } from "vue"; import * as Sentry from "@sentry/vue"; const app = createApp({ // ... }); Sentry.init({ app, dsn: "https://<key>@sentry.io/<project>"", }); app.mount("#app"); Vue Performance MonitoringQuickly identify performance issues and view full end-to-end distributed trace to see the exact poor-performing API call and surface any related Vue errors. Improve Vue performance w
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く