ECSã§å©ç¨ãã¦ããfluent-bitã®ã³ã³ããã®ãã«ã¹ãã§ãã¯ãç°¡æçã«è¡ã
ECS Fargateã®taskããDatadogãªã©ã«ãã°ãéãå ´åfluent-bitã®ãµã¤ãã«ã¼ã³ã³ãããç«ã¦ã¦ãawsfirelensã®logDriverã§ãã°ãéãäºãå¤ãã¨æãã¾ãã
ãã®å ´åãã¿ã¹ã¯ã®ä¾åé¢ä¿ãæå®ããªãã¨ãã°ãä¸é¨åããã¼ãã¦ãã¾ãå ´åããããããfluent-bitã³ã³ããã®ãã«ã¹ãã§ãã¯ãããå¿ è¦ãããã¾ãã ãã®æã«fluent-bitã®configã夿´ããå¿ è¦ããã
- S3ãªã©ã«è¨å®ãã¡ã¤ã«ãç½®ããèµ·åæã«èªã¿è¾¼ã (åè)
- ã«ã¹ã¿ã fluent-bitã³ã³ããããã«ããããããå©ç¨ãã
ãªã©ã®æ¹æ³ãåãããäºãå¤ãã§ãããå°ãæ§æçã«too muchã«æããã®ã§ãããã®è¨å®ç¡ãã§ç´ ã®fluent-bitã«å¯¾ãã¦ç°¡æçã«ãã«ã¹ãã§ãã¯ããããå ´åã®ã³ãã³ãããç´¹ä»ãã¾ãã
ss -tlnH | grep -c ':24224\>
fluent-bitããã°ãåãåããã¼ã㯠24224 ã®ããããã®ãã¼ãããªãã¹ã³ããã¦ãããã©ããã確èªã§ããã°OKãã¨ããèãã§ãã
ã¿ã¹ã¯å®ç¾©ã§ã¯ãã®ãããªæãã§æå®ãã¾ãã
"healthCheck": { "command": [ "CMD-SHELL", "ss -tlnH | grep -c ':24224\\>'" ] }
éè·ãã¾ãã 5
8ææ«ã§ç´5å¹´åå¤ãã SEQSENSE ãéè·ãã¾ããã 使°ã«ç¤¾ä¼äººçæ´»ã®ä¸ã§ä¸çªé·ãå¤ããä¼ç¤¾ã§ããã
ããã¾ã§
è¦åãããã SQ-2 ãå·å´éå·¥ããã¨ã®å ±åéçºã®é éãããã FORRO ã®éçºãè¡ã£ã¦ãã¾ããã主ã«ã¯ã©ã¦ããµã¼ãã¹ã®éçºæ å½ã§ä»¥ä¸ã®ãããªãã¨ãè¡ã£ã¦ãã¾ãã
- ãããããé éã§ç®¡çããããã®Webã¢ããªã±ã¼ã·ã§ã³éçº
- ãããã/ã¯ã©ã¦ã éã®ãã¼ã¿ã®ããåã
- MQTT, AWS IoT, gRPC ãªã©
- ããããã¨åç»ãé³å£°ãããåãããããã®ãµã¼ãéçº
- WebRTC, Kinesis Video Streams
- å¤é¨ã·ã¹ãã ã¨ã®é£æº
- 主ã«ãããããã¨ã¬ãã¼ã¿ã«ä¹ããããã®å種ã¨ã¬ãã¼ã¿é£åãµã¼ãã¹ã¨ã®ããã¨ã
- éç¨/ç£è¦å¨ã
- GitHub Actions, Datadog, Terraform ãªã©
åãªãWebãµã¼ãã¹ã®éçºã§ã¯ãªããªãçµé¨ã§ããªãIoTé¢é£ããªããã¤ããããã¨è¨ã大ããªã¢ããæ±ãä»ç¤¾ã§ã¯ãªããªãã§ããªãçµé¨ãã§ããã®ã¯é常ã«å¤§ããã£ãã§ãã
ã¾ããå¨è·ä¸ã«2度AWSé¢é£ã®çºè¡¨ãã§ããã®ãè¯ãçµé¨ã«ãªãã¾ããã
éè·/転è·ã®çç±ã¨ã
- 5å¹´åå¨ç±ãããã¨ã«ããèªèº«ã®ãã³ããªæã®æç ´
- ä¼ç¤¾ã¨èªåã®æ¹åæ§ããããããªããªã£ã¦ãã¾ã£ã
ãããã大ããªçç±ã§ãã詳細ã¯ç´æ¥èãã¦ãããã°ã話ãã¾ãã
ãããã
ããã¼ãã«ãµã¯ã»ã¹ããããã·ã§ã³ã«ä¸»ã«HRé åã§ã®å種ãµã¼ãã¹ãå±éãã PeopleX ã«9æããåç»ãã¾ãã
4æã«å ¬ã«æ´»åãéå§ããã°ããã®æ°ããä¼ç¤¾ã§ãããCEOã®æ© (@d_ta2bana)ãçé ã«6æã«ã¯ã·ã¼ãã©ã¦ã³ãã§16å調éãããªã©ãç°å¸¸é度ã§ç¤¾ä¼ãå¤ãããã¨ãã¦ããä¼ç¤¾ã«åµæ¥æããåå ã§ããæ©ä¼ã¯ãããªãã ããã¨æããã£ã¬ã³ã¸ã決æããæ¬¡ç¬¬ã§ãã
ã¾ããCTOã®æ© (@t_tiger55 CEOã®å®å¼) ã¨ä»¥åä¸ç·ã«åãã¦ãããã¨ãããããç¨åº¦ä¿¡é ¼æãæã£ã¦åç»ã§ããã¨ããç¹ã大ããã£ãã§ãã
ã³ã³ãã¦ã³ãSaaSã¨ãã¦ä»å¾20-30åã®ã¢ããªã±ã¼ã·ã§ã³ãç°å¸¸é度ã§ç«ã¡ä¸ããè¨ç»ã§ãã®ã§ããããæ¯ããã¨ã³ã¸ãã¢ãçµ¶è³åéä¸ã§ããããã£ããæ¡ç¨æ å ±ãè¦ã¦ããã ãããXãªã©ã§å£°ããããã ããã°ã¨! ð
AWS Summit Tokyo 2023ã«åå ãã¦ãã
ä¸ã¶æåã®åºæ¥äºãªãã§ãã(æ±)ãå¹å¼µã¡ãã»ã§è¡ãããAWS Summit Tokyoã«ä¼ç¤¾ã¨ãã¦åå ãã¦ãã¾ãããå®éã«åãããããã¨ããç®ãå¼ãå±ç¤ºç©ã®å¹æããã£ã¦ãããªãã®æ°ã®äººããã¼ã¹ã«æ¥ã¦ããã¦è²ã ãªè©±ããã¾ãã *1
#AWSSummit ã«åºå±ãã¦ã¾ããå¹å¼µã§ããããã¨æ¡æï¼ https://t.co/1rfHJ5aRRv pic.twitter.com/lIYE3Ju5yo
— ãã¾ãã¾ (@kamatama_41) 2023å¹´4æ20æ¥
ã¾ãã1æ¥ç®ã«ã¯ããã¹ãã¼ã¸ã§ç»å£ãã
ãSEQSENSEã«ãããAWSãæ´»ç¨ãã èªå¾ç§»åããããã®ç®¡çææ³ã
ã¨ããã¿ã¤ãã«ã§15åã®çºè¡¨ãããã¦ãããã¾ããã
æä¸çªã®AWSã®ä¸ã®äººã«æ¬¡ãã§ã®çºè¡¨ã ã£ããã¨ããããçµæ§äººãå± ã¦æ£ç´ç·å¼µãã¾ããããç¡é£ã«ããªããã®ã§ã¯ãªããã¨æãã¾ããAWS Summitèªä½ã³ããç¦ãçµã¦4å¹´ã¶ãã®éå¬ã¨ã®ãã¨ã§ãããããå¤§è¦æ¨¡ã¤ãã³ããä¹ ãã¶ãã«åå ããã®ã¯è¯ããªã¨æãã¾ããã
çºè¡¨è³æ
*1:ãã¡ããã¡ãç²ãã¾ããã..
t.Runã§ãã¹ããããã¹ããå®è¡ããã¨ãã®æ³¨æç¹
TL; DR
t.Run ã§ãã¹ããããã¹ããå®è¡ããæãRunã«æ¸¡ã颿°ã¯ãããã¬ãã«ã®ãã¹ããå®è¡ããã¦ããã®ã¨å¥ã®goroutineã§å®è¡ããã¦ããã®ã§Parameterized Testãªããããã£ã¦ãå ´åã夿°ã®ã¹ã³ã¼ãã«æ³¨æãã¾ãããã
runtime.MemStatsã使ã£ã¦ãªã¢ã«ã¿ã¤ã ã«ã¡ã¢ãªä½¿ç¨éã確èªãã
runtime.MemStats ã使ãã¨ç¾æç¹ã§ã®ã¡ã¢ãªã®ä½¿ç¨ç¶æ³ãªã©ã確èªã§ãã¾ãã
ã¨ããããã以ä¸ã®ãããªã³ã¼ããåããã¨Alloc (å²ãå½ã¦ããããã¼ããªãã¸ã§ã¯ãã®ãã¤ãæ°) ã¨NumGC (GCã®åæ°) ã確èªã§ãã¾ããã¤ãã§ã«æéä¸ã®æå¤§ã®Allocã確èªãã¦ãã¾ãã
ãã®ä»å¿ è¦ãªãã¼ã¿ã¯MemStatsã®ããã¥ã¡ã³ããèªã¿ãªããé©å®è¿½å ãããã¨ã
package main import ( "log" "runtime" "time" ) func main() { tick := time.NewTicker(2 * time.Second) defer tick.Stop() go func() { var maxAlloc uint64 for range tick.C { var s runtime.MemStats runtime.ReadMemStats(&s) toMB := func(v uint64) uint64 { return v / (1024 * 1024) } alloc := s.Alloc if maxAlloc < alloc { maxAlloc = alloc } log.Println("===============================") log.Printf("Alloc: %d\n", toMB(alloc)) log.Printf("MaxAlloc: %d\n", toMB(maxAlloc)) log.Printf("NumGC: %d\n", s.NumGC) log.Println("===============================") } }() someMemoryBoundFunction() }
ä½å® è³¼å ¥è¨é² (2)
ä»åã¯ä½å® ãã¼ã³ã«é¢ãã¦ã
- ä½å®
ãã¼ã³æ¢ã
- å¤å or åºå®
- éè¡é¸ã³
- å£ä¿¡è½ã¡ã
- 審æ»éé
- ä½è« (è·æ´æ¸)
- è¨äºä¸è¦§
ä½å® è³¼å ¥è¨é² (1)
æ¨å¹´æ«ã«å®¶ (建売æ°ç¯) ãè²·ã£ãã®ã§ãã®è¨é²ã§ããä»åã¯è³¼å ¥ããæã¾ã§ã
- å®¶ãè²·ãã«è³ã£ãçµç·¯
- 宿åå®¶å¥ç´ã®çµäº
- è³è²¸ or æã¡å®¶
- å®¶æ¢ã
- ãã³ã·ã§ã³ or æ¸å»ºã¦
- ãã³ã·ã§ã³ã®ç¹å¾´
- æ¸å»ºã¦ã®ç¹å¾´
- æ¸å»ºã¦æ¢ã
- 決ãããã¤ã³ã
- 妥åããç¹
- ä½è«
- ãã³ã·ã§ã³ or æ¸å»ºã¦
- è¨äºä¸è¦§