タグ

golangに関するiwazerのブックマーク (11)

  • Datadog APMをGoで使う - Qiita

    はじめに Datadog APMの簡単な特徴とGoで使用するための方法をまとめました。 公式サイトのドキュメントを見ていただくことを勧めますが、 補足資料として見ていただければと思います。 公式ドキュメント TraceパッケージのGoDoc また、ここではDatadogのAPM以外の機能については割愛します。 APMとは Application Performance Managementの頭文字をとった略語で、一般的にはアプリケーションやシステムの性能を管理・監視するものです。 DatadogのAPMではマネージドクライド、オンプレミスに関わらず分散トレーシングに対応しています。 Flame GraphやSpan Listなど整理された形でトレース結果を取得できるようになっています。 Flame Graph - Span List 使用するには Agentのインストールと起動 APM用パ

    Datadog APMをGoで使う - Qiita
  • Goで時刻をモックする · hnakamur's blog

    2020-08-07 はじめに 初めてこの話題を聞いたのは umeda.go #2 で発表してきた - kawaken’s blog でした(スライドは Goの時刻に関するテスト)。 その節は良いお話をありがとうございました。 この時点ではGoのアプリケーションのビルド時にGoの標準ライブラリーのコードを差し替えるのは別の用途で試して便利だったものの、時刻に関するテストは自分では試してませんでした。 その後、自分でも試そうと思い、紹介されていたライブラリー以外のライブラリーも調べてみたのでメモです。 Mocking time and testing event loops in Go [Dmitry Frank] の記事がとても詳しくて素晴らしいです。 こちらのサンプルコードをベースにしたもので検証してみました。 time.Now() だけならライブラリーを使わない選択もある Goの時刻に

  • Go 互換性要件

    互換性Go Datadog Trace ライブラリはオープンソースです。詳細については、GitHub リポジトリをご覧ください。 Go Datadog トレースライブラリは、Go のバージョンに対してバージョンサポートポリシーが定義されています。Go の 2 つの最新リリースは完全にサポートされ、3 つ目の最新リリースはメンテナンス中と見なされています。古いバージョンも機能しますが、デフォルトではサポートは提供されません。特別なリクエストは、サポートに連絡してください。 Datadog Agent v5.21.1+ を実行している必要があります。 インテグレーションフレームワークの互換性次のヘルパーパッケージのいずれかを使用して、Go トレーサーと次のリストのウェブフレームワークを統合します。 注: インテグレーションドキュメントは、サポートされているパッケージとその API の詳細な概要

    Go 互換性要件
  • golangとDockerとOOM — KaoriYa

    golangで書いたプログラムをDockerで動かしOOMが発生した際になるべく情報を残して殺される方法を紹介します。 2020/08/16追記: この記事の内容はgolangに関してはやや現実的ではなくなってしまいました。 詳しくは続編を参照してください。 TL;DR golang製のプログラムは仮想メモリ(VSZ)の確保に失敗するとgoroutineのダンプを吐いて死ぬ DockerのOOMはRSSベースで検出時にSIGKILLを投げてくる Docker利用時にVSZで制限をかけるスクリプトを書いた golang製のプログラムはlinux-amd64において最低でも101MBのVSZを要求する VSZの制限がそれより小さいと当然起動できない 実際のRSSは3MB程度で起動する Background コンテナ内で動いているプロダクション上のgolang製のプログラムが時々OOMに殺されて

  • なぜ私達は Python から Go に移行したのか - Frasco

    新しい言語に移行するのは常に大きな決断です。その言語をよく知る人がチームメンバーに1人しかいない時などは特にそうです。今年の初め、我々は Stream の主要言語を Python から Go に切り替えました。この記事では、なぜ私達が Python から Go に移行しようと決断したのか、その理由を説明します。 Go を使う理由 理由1 - パフォーマンス Go は速いです! Go は極端に速い。そのパフォーマンスは Java もしくは C++ に匹敵します。私達のユースケースでは、GoPython より30倍速いです。GoJava を比較したベンチマークはこちらです。 理由2 - 言語パフォーマンスの問題 多くのアプリケーションにとって、プログラミング言語は、単にアプリとデータベースを繋ぐものにすぎません。言語そのもののパフォーマンスは通常あまり重要ではありません。 しかしな

    なぜ私達は Python から Go に移行したのか - Frasco
  • Iris Web Framework

    Write and serve anywhere. Write your backend with iris web framework. Host it at any machine. Iris is written with Go, you can run Iris from mobile, raspberry pi or a desktop with the minimum machine power. Broad os support, baby. All major operating systems are supported including linux, bsd, android, macOS, windows. It’s gonna work good on all devices. Iris is written with Go programming languag

    Iris Web Framework
  • Go言語とHTTP2

    http2 in Go 1.6; dotGo 2015 - Google スライド 2015年の5月にRFCが出たばかりのHTTP2が2016年の2月にリリース予定のGo1.6で早くも利用可能になることになっている.HTTP2の勉強も兼ねてGo言語におけるHTTP2実装を追ってみる. 以下ではまず実際にHTTP2サーバを動かしChromeで接続してみる.次に現状コードがどのように管理されているかを追う.最後に実際にコードを動かしながらHTTP2の各種機能を追う.なお参照するコードはすべて以下のバージョンを利用している(まだWIPなのでコードなどは今後変わる可能性があるので注意). HTTP2とは? HTTP/2に関してはスライドやブログ記事,Podcastなど非常に豊富な情報がインターネット上に存在する.そもそもHTTP2とは何か?なぜ必要なのか?などを理解したい場合は参考に挙げた記事など

  • Goで使える10のテクニック | POSTD

    ここでは、私がたどりついた最善のやり方を紹介しましょう。個人的に過去数年にわたって大量のGoコードと付き合ってきた経験から集めたものです。これらは全て非常にスケーラビリティがあると思っています。私が、スケールする、と言うときは次のような意味があります。 アプリケーションが求める環境は、アジャイル環境の中で変化していきます。開発の3、4か月後に、全てをリファクタリングする必要が出てくるなど、考えたくもないはずです。新しい機能は簡単に追加できなくては意味がありません。 あなたのアプリケーションは多くの人々によって開発されます。可読性が高く、維持しやすいものでなくてはなりません。 あなたのアプリケーションは大勢の人々に使われます。バグは容易に特定でき、修正できなくてはなりません。 長期的にみるとこれらのことが重要になる、ということを私は今までに学んできました。小さなことであっても、多数に影響しま

    Goで使える10のテクニック | POSTD
  • モノリシックなRubyからGoによるマイクロサービスへ | POSTD

    過去9年わたりWebアプリケーションを開発してきたNiket氏( @nexneo )は、2013年からGoを使って作業をするようになりました。この講演では、彼がどのようにRubyのモノリシックアプリケーションを分解しつつ、Goで記述されたマイクロサービスへと至ったかについて説明しています。講演のスライドは、 speakerdeck.com/nexneo/joy-of-single-purpose-services-in-go で閲覧可能です。 Single purpose servicesというのは、単一の問題を解決するサービスのことです。 一般的に マイクロサービス としても知られています。 Niket氏は、学校側が親御さんたちと連絡したり成績表や出席を管理したりするための人気オンラインプラットフォーム、 Beehively の開発者です。BeehivelyはRubyベースのアプリケーシ

    モノリシックなRubyからGoによるマイクロサービスへ | POSTD
    iwazer
    iwazer 2015/04/11
    興味深い
  • Goのdatabase/sql.Stmtのスケーラビリティを改善しました : DSAS開発者の部屋

    先日、 Goに初めて私のパッチが取り込まれ 、コントリビュータに仲間入りしました。 このパッチは、 database/sql.Stmt をヘビーに使った時に性能がだいたい16コア以上のコア数にスケールしないという問題を解決するものです。 こういった問題をどうやって調査するのかと、Goにパッチが取り込まれるまでの手順を紹介します。 背景 私は TechEmpower の FrameworkBenchmarks という、いろんな言語/フレームワークで同一のアプリを作ってベンチマークするというプロジェクトで、主にPython関連のメンテナをしています。 Goにも興味があるので、Ginというフレームワークを追加したりコードレビューに参加したりしています。 2014-05-01 に行われた前回のベンチマーク Round 9 では、 PEAK Hosting が実行環境に加わりました。この環境は、デュ

    Goのdatabase/sql.Stmtのスケーラビリティを改善しました : DSAS開発者の部屋
    iwazer
    iwazer 2015/01/27
    ちょっと興奮した
  • go-pastel というコピー&ペーストをシェアするウェブアプリを書いた : sonots:blog

    go-pastel というコピー&ペーストをシェアするウェブアプリを書いた : sonots:blog
  • 1