{"title":"软件工程中的可观察性与监控设计模式","authors":"S. Takan, Fatih Soygazi̇","doi":"10.21205/deufmd.2023257411","DOIUrl":null,"url":null,"abstract":"Yazılım geliştirmede gözlemlenebilirlik ve izlemenin rolü oldukça kritiktir ve her geçen gün artmaktadır. Gözlemlenebilirlik ve izlenebilirlik sağlayan mevcut araçlar, harici yapıda bulundukları için sistemin derinliklerine girebilen ve gerekli bilgiye bu yolla ulaşabilen bir yapıda değillerdir. Ayrıca bu araçların özelleştirilmesi ve tek yönlü (içeriden dışarı) bilgi sağladıkları için modifiye edilerek yeniden konfigüre edilmesi zordur. Pek çok araç, yazılım çöktüğünde yazılımın sahiplerine çökme nedenlerini gönderir ancak bu konuda bir standardizasyon bulunmamaktadır. Dolayısıyla bu sistemlerin geri bilgilendirme başarımı tartışma konusudur. Çalışmamızda, yukarıda sözü edilen problemlere çözüm sunmak amacıyla, yazılımdan ayrı tutulup, sisteme entegre edilmeyen bir gözlemleme ve izleme anlayışının yerine, sistemin bir parçası olan ve onunla birlikte yaşayan canlı bir gözlemleme ve izleme tasarım şablonu geliştirilmiştir. Tasarım şablonunun geliştirilmesinde, gözlemlenebilirlik ve izlenebilirlik açısından özetleme mekanizmasından yararlanılmıştır. Bu doğrultuda, yazılım üretim araçlarına ve paradigmalarına uyumu açısından çizge yapısından yararlanılmış ve bu yapı, önerdiğimiz tasarım şablonunun temelini oluşturmuştur. Geliştirdiğimiz tasarım şablonu ve algoritma ile lineer bir karmaşıklıkta sistemdeki verinin güncellenebilmesi sağlanmaktadır. Ayrıca döngüsüz çizge yapısının desteklenmesinin yanı sıra Etiket adı verdiğimiz yapı sayesinde, çizge yapısındaki döngüler desteklenir hale getirilmiştir. Son olarak geliştirdiğimiz yapı gözlemlenebilirlik ve izlenebilirlik açısından blokzinciri veri yapısı ile karşılaştırılmış ve sonuçta geliştirdiğimiz modelin zaman/alan karmaşıklığının daha başarılı olduğu tespit edilmiştir.","PeriodicalId":23481,"journal":{"name":"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi","volume":"34 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-05-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Observability and Monitoring Design Pattern in Software Engineering\",\"authors\":\"S. Takan, Fatih Soygazi̇\",\"doi\":\"10.21205/deufmd.2023257411\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Yazılım geliştirmede gözlemlenebilirlik ve izlemenin rolü oldukça kritiktir ve her geçen gün artmaktadır. Gözlemlenebilirlik ve izlenebilirlik sağlayan mevcut araçlar, harici yapıda bulundukları için sistemin derinliklerine girebilen ve gerekli bilgiye bu yolla ulaşabilen bir yapıda değillerdir. Ayrıca bu araçların özelleştirilmesi ve tek yönlü (içeriden dışarı) bilgi sağladıkları için modifiye edilerek yeniden konfigüre edilmesi zordur. Pek çok araç, yazılım çöktüğünde yazılımın sahiplerine çökme nedenlerini gönderir ancak bu konuda bir standardizasyon bulunmamaktadır. Dolayısıyla bu sistemlerin geri bilgilendirme başarımı tartışma konusudur. Çalışmamızda, yukarıda sözü edilen problemlere çözüm sunmak amacıyla, yazılımdan ayrı tutulup, sisteme entegre edilmeyen bir gözlemleme ve izleme anlayışının yerine, sistemin bir parçası olan ve onunla birlikte yaşayan canlı bir gözlemleme ve izleme tasarım şablonu geliştirilmiştir. Tasarım şablonunun geliştirilmesinde, gözlemlenebilirlik ve izlenebilirlik açısından özetleme mekanizmasından yararlanılmıştır. Bu doğrultuda, yazılım üretim araçlarına ve paradigmalarına uyumu açısından çizge yapısından yararlanılmış ve bu yapı, önerdiğimiz tasarım şablonunun temelini oluşturmuştur. Geliştirdiğimiz tasarım şablonu ve algoritma ile lineer bir karmaşıklıkta sistemdeki verinin güncellenebilmesi sağlanmaktadır. Ayrıca döngüsüz çizge yapısının desteklenmesinin yanı sıra Etiket adı verdiğimiz yapı sayesinde, çizge yapısındaki döngüler desteklenir hale getirilmiştir. Son olarak geliştirdiğimiz yapı gözlemlenebilirlik ve izlenebilirlik açısından blokzinciri veri yapısı ile karşılaştırılmış ve sonuçta geliştirdiğimiz modelin zaman/alan karmaşıklığının daha başarılı olduğu tespit edilmiştir.\",\"PeriodicalId\":23481,\"journal\":{\"name\":\"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi\",\"volume\":\"34 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.21205/deufmd.2023257411\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Uluslararası Muhendislik Arastirma ve Gelistirme Dergisi","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.21205/deufmd.2023257411","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Observability and Monitoring Design Pattern in Software Engineering
Yazılım geliştirmede gözlemlenebilirlik ve izlemenin rolü oldukça kritiktir ve her geçen gün artmaktadır. Gözlemlenebilirlik ve izlenebilirlik sağlayan mevcut araçlar, harici yapıda bulundukları için sistemin derinliklerine girebilen ve gerekli bilgiye bu yolla ulaşabilen bir yapıda değillerdir. Ayrıca bu araçların özelleştirilmesi ve tek yönlü (içeriden dışarı) bilgi sağladıkları için modifiye edilerek yeniden konfigüre edilmesi zordur. Pek çok araç, yazılım çöktüğünde yazılımın sahiplerine çökme nedenlerini gönderir ancak bu konuda bir standardizasyon bulunmamaktadır. Dolayısıyla bu sistemlerin geri bilgilendirme başarımı tartışma konusudur. Çalışmamızda, yukarıda sözü edilen problemlere çözüm sunmak amacıyla, yazılımdan ayrı tutulup, sisteme entegre edilmeyen bir gözlemleme ve izleme anlayışının yerine, sistemin bir parçası olan ve onunla birlikte yaşayan canlı bir gözlemleme ve izleme tasarım şablonu geliştirilmiştir. Tasarım şablonunun geliştirilmesinde, gözlemlenebilirlik ve izlenebilirlik açısından özetleme mekanizmasından yararlanılmıştır. Bu doğrultuda, yazılım üretim araçlarına ve paradigmalarına uyumu açısından çizge yapısından yararlanılmış ve bu yapı, önerdiğimiz tasarım şablonunun temelini oluşturmuştur. Geliştirdiğimiz tasarım şablonu ve algoritma ile lineer bir karmaşıklıkta sistemdeki verinin güncellenebilmesi sağlanmaktadır. Ayrıca döngüsüz çizge yapısının desteklenmesinin yanı sıra Etiket adı verdiğimiz yapı sayesinde, çizge yapısındaki döngüler desteklenir hale getirilmiştir. Son olarak geliştirdiğimiz yapı gözlemlenebilirlik ve izlenebilirlik açısından blokzinciri veri yapısı ile karşılaştırılmış ve sonuçta geliştirdiğimiz modelin zaman/alan karmaşıklığının daha başarılı olduğu tespit edilmiştir.