Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0029696
TypeCategorySeverityReproducibilityDate SubmittedLast Update
feature request[Retail Modules] Web POSminoralways2015-04-24 15:582015-04-24 15:58
ReporterOrekariaView Statuspublic 
Assigned ToRetail 
PrioritynormalResolutionopenFixed in Version
StatusnewFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0029696: Add a sizeOf method to be able to know the size of the objects

DescriptionAdd a sizeOf method to be able to know the size of the objects

This is useful to analyze user installations
Steps To Reproduceverify that the new method can calculate the size of the OB object
Proposed SolutionSomething like this:


      var memorySizeOf = function(obj) {
          var bytes = 0;

          function sizeOf(obj) {
              if(obj !== null && obj !== undefined) {
                  switch(typeof obj) {
                  case 'number':
                      bytes += 8;
                      break;
                  case 'string':
                      bytes += obj.length * 2;
                      break;
                  case 'boolean':
                      bytes += 4;
                      break;
                  case 'object':
                      var objClass = Object.prototype.toString.call(obj).slice(8, -1);
                      if(objClass === 'Object' || objClass === 'Array') {
                          for(var key in obj) {
                              if(!obj.hasOwnProperty(key)) continue;
                              sizeOf(obj[key]);
                          }
                      } else bytes += obj.toString().length * 2;
                      break;
                  }
              }
              return bytes;
          }

          function formatByteSize(bytes) {
              if(bytes < 1024) return bytes + " bytes";
              else if(bytes < 1048576) return(bytes / 1024).toFixed(2) + " KiB";
              else if(bytes < 1073741824) return(bytes / 1048576).toFixed(2) + " MiB";
              else return(bytes / 1073741824).toFixed(2) + " GiB";
          }

          return formatByteSize(sizeOf(obj));
      };
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2015-04-24 15:58 Orekaria New Issue
2015-04-24 15:58 Orekaria Assigned To => Retail
2015-04-24 15:58 Orekaria Triggers an Emergency Pack => No


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker